gnu相关内容

了解 GNU 链接描述文件的位置计数器

我正在从事一个大学项目,我正在从头开始为 Atmel SAM7S256 微控制器编写软件.这比我以前使用过的其他 MCU 更深入,因为这次需要了解链接器脚本和汇编语言. 我一直在仔细研究 SAM7S 芯片的示例项目,以便完全了解如何从头开始启动 SAM7/ARM 项目.一个值得注意的例子是 Miro Samek 的“使用 GNU 构建裸机 ARM 系统"教程 here (这个问题中的代码来自 ..
发布时间:2022-01-11 15:16:35 其他开发

如何使用 gcc 工具链强制执行二进制文件中的函数顺序?

我正在从几个源文件和库中构建一个静态二进制文件,并且我想控制将函数放入生成的二进制文件的顺序. 背景是,我有与此二进制文件中的偏移量相关联的外部代码.现在如果我改变源,所有的偏移量都会改变,因为 gcc 可能决定对函数进行不同的排序,所以我想把引用的函数以固定的顺序放在开头,这样它们的偏移量就保持不变...... 我查看了 ld 的文档,但找不到任何关于函数顺序的信息. 我发现的 ..
发布时间:2022-01-11 15:07:39 其他开发

使用 GNU ld 链接器脚本包含二进制文件

我有一个可用的链接器脚本.我想添加另一个数据部分,其内容是直接从文件中提取的(ld 不应该解析它并提取这些部分等等).我该怎么做? OUTPUT_FORMAT("elf32-i386")进入(开始)部分{.text 0x100000:{*(.multiboot)*(.文本)*(.代码)*(.rodata*)}.数据 : {*(.数据)}.bss:{*(.bss)}kernel_end = .;r ..
发布时间:2022-01-09 19:08:27 其他开发

与 grep 的非贪婪匹配

据我所知,非贪婪匹配不是基本正则表达式 (BRE) 和扩展正则表达式 (ERE) 的一部分.然而,在不同版本的 grep(BSD 和 GNU)上的行为似乎暗示了其他明智的做法. 例如,让我们以下面的例子为例.我有一个字符串说: string="hello_my_dear_polo" 使用 GNU grep: 以下是从字符串中提取 hello 的一些尝试. BRE 尝试(失败) ..
发布时间:2022-01-06 14:07:19 其他开发

Grep 的“无效范围结束"— 错误或功能?

我有这三个文件: $ cat pattern-ok['\-]$ cat 模式马车[\-']$猫文字abc'def-ghi 现在,以下是我不知道的错误还是正则表达式功能? $ cat text |grep -f 模式-okabc'def-ghi$ 猫文字 |grep -f 模式错误grep:范围结束无效 我正在使用: $ grep --version |头-n 1grep (GNU gre ..
发布时间:2022-01-06 13:43:19 其他开发

Linux:阻塞直到文件中的字符串匹配(“tail + grep with blocks")

在 bash/GNU 工具中是否有某种单行方式来阻止,直到文件中有匹配的字符串?理想情况下,超时.我想避免多行循环. 更新: 似乎我应该强调我希望在匹配字符串时结束进程. 解决方案 感谢两位的回答,但重要的部分是进程阻塞直到找到,然后结束.我发现了这个: grep -q 'PATTERN' ..
发布时间:2022-01-06 13:31:22 服务器开发

grep 正则表达式空白行为

我有一个文本文件,包含如下内容: 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' ..
发布时间:2022-01-06 13:27:50 其他开发

在 GNU c++ 编译器中运行一个包含多个源文件的程序

我在 Windows 7 操作系统上使用 DEV GNU c++ 编译器.我需要知道如何编译具有多个源文件的程序.这是示例, #FILE1无效 f1(){printf("这是同一个程序下的另一个文件");}#FILE2int main(){f1();返回0;} 实际上我需要这个来测试静态、extern 类说明符如何处理多个文件.所以只有我现在必须学习如何在 C 中的单个程序中处理多个文件.. ..
发布时间:2022-01-04 21:17:47 C/C++开发

GNU 并行根本不工作

我尝试使用 GNU 并行已经有一段时间了,但我从来没有让它运行起来! 例如,运行(在非空目录中!): ls |parallel echo # 输出单个新行ls |parallel echo echo echo # 输出三个新行.ls |并行回声 {} #/bin/bash: {}: 命令未找到ls |并行回显 '{}' #/bin/bash: {}: 命令未找到ls |并行 'echo { ..
发布时间:2021-12-30 20:58:11 其他开发

为什么不推荐使用 fgets 函数?

来自GNU C 编程教程: fgets(“文件获取字符串")函数类似于gets功能.此函数已弃用 -- 这意味着它已过时强烈建议您不要使用它——因为它是危险的.这是危险的,因为如果输入数据包含空值性格,你看不出来.除非你知道数据,否则不要使用 fgets不能包含空值.不要用它来读取用户编辑的文件因为,如果用户插入空字符,您应该正确处理或打印清晰的错误信息.一直使用如果可以,getline 或 ..
发布时间:2021-12-29 12:21:36 其他开发

从 make 文件中禁用 make 内置规则和变量

我想根据传递的 禁用内置规则和变量-r 和 -R 选项 到 GNU make,从 make 文件中.也欢迎其他允许我隐式和透明地执行此操作的解决方案. 我发现 几个参考使用MAKEFLAGS,并有类似的问题. 解决方案 你可以用 #! 开始 Makefile 并称它为不同的东西,这样人们就不会尝试直接使用make: #!/usr/bin/make -rRf# ... 如果 GNU ..
发布时间:2021-12-28 19:55:05 其他开发

分号在 bash 命令中运行时有什么作用?

例如运行时 echo a;回声 在终端中,它的输出是: a乙 在我看来,分号等待第一个命令 (echo a) 完成,然后启动第二个命令 (echo b). 问:分号是否只是用于在 bash 中迭代命令? 问:分号在 bash 命令中运行时的作用是什么? 解决方案 ; 将两个命令分开. echo a;回声 它让 bash 知道 echo a 和 echo b 是两个独 ..
发布时间:2021-12-28 10:34:50 其他开发

是否使用 GNU sed 在正则表达式中转义 (和)

我注意到这个网站上的几个帖子说使用 gnu sed 你应该在正则表达式中使用 ( 和 ) 而不是 \(> 和 \).但后来我查看了 gnu sed 手册并看到他们指定必须使用 \( 和 \) .怎么了? 解决方案 感谢 Rocker、murga 和 chris.你们每个人都帮助我理解了这个问题.我在这里回答我自己的问题是为了(希望)将整个故事放在一个地方. sed 有两个主要版本在使 ..
发布时间:2021-12-24 12:10:25 其他开发

/show 在 g++ 中包含等效选项

我看到 VC++ 包含一个名为/show include 的选项,用于列出每个翻译单元中包含文件的层次结构.这似乎是一个非常有用的选项 - 在大型项目中优化/改进编译时间. 问题 在 GNU g++ 编译器中是否有任何等效的选项来获得这些(类似的输出)? 解决方案 有多种选项可以控制这一点. -MD 将列出文件,-MMD 将列出非系统文件作为编译的副作用 -M, -MM ..
发布时间:2021-12-22 18:26:50 其他开发

如何使用 gcc 生成 Intel 语法中的汇编代码?

gcc -S 选项将生成 AT&T 语法的汇编代码,有没有办法生成 Intel 语法的文件?或者有没有办法在两者之间转换? 解决方案 你试过了吗? gcc -S -masm=intel test.c 未经测试,但我在此论坛中找到了它,有人声称它对他们有用. 我刚刚在 mac 上试过了,但失败了,所以我查看了我的手册页: -masm=方言使用选定的方言输出汇编指令.支持的选择是 ..
发布时间:2021-12-18 08:44:55 其他开发

如何在不运行 Bash 脚本的情况下对其进行语法检查?

是否可以在不执行的情况下检查 bash 脚本语法? 使用 Perl,我可以运行 perl -c 'script name'.bash 脚本是否有任何等效的命令? 解决方案 bash -n scriptname 也许有一个明显的警告:这会验证语法,但不会检查您的 bash 脚本是否尝试执行不在您的路径中的命令,例如 ech hello 而不是 echo hello. ..
发布时间:2021-12-14 23:50:02 服务器开发