gnu相关内容
我正在从事一个大学项目,我正在从头开始为 Atmel SAM7S256 微控制器编写软件.这比我以前使用过的其他 MCU 更深入,因为这次需要了解链接器脚本和汇编语言. 我一直在仔细研究 SAM7S 芯片的示例项目,以便完全了解如何从头开始启动 SAM7/ARM 项目.一个值得注意的例子是 Miro Samek 的“使用 GNU 构建裸机 ARM 系统"教程 here (这个问题中的代码来自
..
我正在从几个源文件和库中构建一个静态二进制文件,并且我想控制将函数放入生成的二进制文件的顺序. 背景是,我有与此二进制文件中的偏移量相关联的外部代码.现在如果我改变源,所有的偏移量都会改变,因为 gcc 可能决定对函数进行不同的排序,所以我想把引用的函数以固定的顺序放在开头,这样它们的偏移量就保持不变...... 我查看了 ld 的文档,但找不到任何关于函数顺序的信息. 我发现的
..
我有一个可用的链接器脚本.我想添加另一个数据部分,其内容是直接从文件中提取的(ld 不应该解析它并提取这些部分等等).我该怎么做? OUTPUT_FORMAT("elf32-i386")进入(开始)部分{.text 0x100000:{*(.multiboot)*(.文本)*(.代码)*(.rodata*)}.数据 : {*(.数据)}.bss:{*(.bss)}kernel_end = .;r
..
据我所知,非贪婪匹配不是基本正则表达式 (BRE) 和扩展正则表达式 (ERE) 的一部分.然而,在不同版本的 grep(BSD 和 GNU)上的行为似乎暗示了其他明智的做法. 例如,让我们以下面的例子为例.我有一个字符串说: string="hello_my_dear_polo" 使用 GNU grep: 以下是从字符串中提取 hello 的一些尝试. BRE 尝试(失败)
..
我有这三个文件: $ cat pattern-ok['\-]$ cat 模式马车[\-']$猫文字abc'def-ghi 现在,以下是我不知道的错误还是正则表达式功能? $ cat text |grep -f 模式-okabc'def-ghi$ 猫文字 |grep -f 模式错误grep:范围结束无效 我正在使用: $ grep --version |头-n 1grep (GNU gre
..
在 bash/GNU 工具中是否有某种单行方式来阻止,直到文件中有匹配的字符串?理想情况下,超时.我想避免多行循环. 更新: 似乎我应该强调我希望在匹配字符串时结束进程. 解决方案 感谢两位的回答,但重要的部分是进程阻塞直到找到,然后结束.我发现了这个: grep -q 'PATTERN'
..
我有一个文本文件,包含如下内容: 12,34 欧元5,67 欧元... 'EUR' 前有一个空格,我忽略 0,XX EUR. 我试过: grep '[1-9][0-9]*,[0-9]\{2\}\sEUR' =>不匹配! grep '[1-9][0-9]*,[0-9]\{2\} EUR' =>成功了! grep '[1-9][0-9]*,[0-9]\{2\}\s*EUR'
..
我在 Windows 7 操作系统上使用 DEV GNU c++ 编译器.我需要知道如何编译具有多个源文件的程序.这是示例, #FILE1无效 f1(){printf("这是同一个程序下的另一个文件");}#FILE2int main(){f1();返回0;} 实际上我需要这个来测试静态、extern 类说明符如何处理多个文件.所以只有我现在必须学习如何在 C 中的单个程序中处理多个文件..
..
Emacs 中匹配括号的命令是什么(相当于 Vim 中的 % 命令)? 解决方案 参见 show-paren-mode,如 5.27 如何显示哪个括号与我正在查看的括号匹配?
..
我尝试使用 GNU 并行已经有一段时间了,但我从来没有让它运行起来! 例如,运行(在非空目录中!): ls |parallel echo # 输出单个新行ls |parallel echo echo echo # 输出三个新行.ls |并行回声 {} #/bin/bash: {}: 命令未找到ls |并行回显 '{}' #/bin/bash: {}: 命令未找到ls |并行 'echo {
..
来自GNU C 编程教程: fgets(“文件获取字符串")函数类似于gets功能.此函数已弃用 -- 这意味着它已过时强烈建议您不要使用它——因为它是危险的.这是危险的,因为如果输入数据包含空值性格,你看不出来.除非你知道数据,否则不要使用 fgets不能包含空值.不要用它来读取用户编辑的文件因为,如果用户插入空字符,您应该正确处理或打印清晰的错误信息.一直使用如果可以,getline 或
..
我想根据传递的 禁用内置规则和变量-r 和 -R 选项 到 GNU make,从 make 文件中.也欢迎其他允许我隐式和透明地执行此操作的解决方案. 我发现 几个参考使用MAKEFLAGS,并有类似的问题. 解决方案 你可以用 #! 开始 Makefile 并称它为不同的东西,这样人们就不会尝试直接使用make: #!/usr/bin/make -rRf# ... 如果 GNU
..
例如运行时 echo a;回声 在终端中,它的输出是: a乙 在我看来,分号等待第一个命令 (echo a) 完成,然后启动第二个命令 (echo b). 问:分号是否只是用于在 bash 中迭代命令? 问:分号在 bash 命令中运行时的作用是什么? 解决方案 ; 将两个命令分开. echo a;回声 它让 bash 知道 echo a 和 echo b 是两个独
..
我注意到这个网站上的几个帖子说使用 gnu sed 你应该在正则表达式中使用 ( 和 ) 而不是 \(> 和 \).但后来我查看了 gnu sed 手册并看到他们指定必须使用 \( 和 \) .怎么了? 解决方案 感谢 Rocker、murga 和 chris.你们每个人都帮助我理解了这个问题.我在这里回答我自己的问题是为了(希望)将整个故事放在一个地方. sed 有两个主要版本在使
..
我看到 VC++ 包含一个名为/show include 的选项,用于列出每个翻译单元中包含文件的层次结构.这似乎是一个非常有用的选项 - 在大型项目中优化/改进编译时间. 问题 在 GNU g++ 编译器中是否有任何等效的选项来获得这些(类似的输出)? 解决方案 有多种选项可以控制这一点. -MD 将列出文件,-MMD 将列出非系统文件作为编译的副作用 -M, -MM
..
问题:如何用gcc编译器编译C++程序? 信息.c: #include使用 std::cout;使用 std::endl;int main(){#ifdef __cpluspluscout
..
在 OSX 中使用 g++ 编译 C++ 程序,我使用 LD_FLAGS= -Wl,-stack_size,0x100000000 但在 SUSE Linux 中,我经常收到如下错误: x86_64-suse-linux/bin/ld: 无法识别的选项 '--stack' 和类似的. 我知道可以使用 ulimit -s 无限制 但这并不好,因为单个用户并不总是可以这样做.
..
我很想知道是否有任何特殊的 GAS 语法可以实现与 NASM 示例中相同的功能: SECTION .datamsg: db "Hello World",10,0 ;以 0 结尾的字符串.len: 等 $-msg ;“$"表示当前地址. 特别是我对表示当前地址的符号 $ 感兴趣. 解决方案 gas 和 NASM 之间有一个有用的比较:http://www.ibm.com/develope
..
gcc -S 选项将生成 AT&T 语法的汇编代码,有没有办法生成 Intel 语法的文件?或者有没有办法在两者之间转换? 解决方案 你试过了吗? gcc -S -masm=intel test.c 未经测试,但我在此论坛中找到了它,有人声称它对他们有用. 我刚刚在 mac 上试过了,但失败了,所以我查看了我的手册页: -masm=方言使用选定的方言输出汇编指令.支持的选择是
..
是否可以在不执行的情况下检查 bash 脚本语法? 使用 Perl,我可以运行 perl -c 'script name'.bash 脚本是否有任何等效的命令? 解决方案 bash -n scriptname 也许有一个明显的警告:这会验证语法,但不会检查您的 bash 脚本是否尝试执行不在您的路径中的命令,例如 ech hello 而不是 echo hello.
..