104得票3回答
ELF文件格式中的“section”和“segment”有什么区别?

来自维基百科 可执行和可链接文件格式(Executable and Linkable Format,简称ELF): 段(Segment)包含运行时执行文件所必需的信息,而节(Section)包含重要的链接和重定位数据。整个文件中的任何字节最多只能被一个节所占有,也可能存在一些孤立的字节不属于...

97得票4回答
我们的Linux应用程序中libc(glibc)的作用是什么?

当我们使用gdb调试程序时,通常会看到在 libc 中定义了一些奇怪的函数名(glibc?)。我的问题是: libc/glibc 是一些标准 C/C++ 函数的标准实现吗,例如 strcpy、strlen 和 malloc? 或者,它不仅仅是上述第一个用途,而且还是 Unix/Linux ...

96得票5回答
GNU make能处理带有空格的文件名吗?

我有一个目录,其中包含多个文件,其中一些文件名包含空格:Test workspace/ Another directory/ file1.ext file2.ext demo 2012-03-23.odp 我在这个目录上使用GNU的$(wildcard)命令,然后使用$(foreach)迭代结...

91得票4回答
grep --ignore-case --only

当同时使用--ignore-case和--only-match选项时,grep命令会失败。 例如:$ echo "abc" | grep -io abc abc $ echo "ABC" | grep -io abc $ 但是$ echo "abc" | grep -i abc abc $ ...

75得票8回答
在makefile中禁用内置规则和变量

我希望能够通过在make文件内部传递-r和-R选项来禁用内置规则和变量。也欢迎其他可以隐式透明地实现此目的的解决方案。 我找到了几个参考文献,提到使用MAKEFLAGS,但遇到了类似的问题。

74得票8回答
针对GNU sed和BSD / OSX,如何使用sed -i命令进行原地编辑?

我有一个makefile(在Linux上使用gmake开发),现在我想将其移植到MacOS,但似乎sed不愿合作。我的做法是使用GCC来自动生成依赖文件,然后使用sed稍微调整一下。以下是makefile的相关部分:$(OBJ_DIR)/%.d: $(SRC_DIR)/%.cpp $(CP...

73得票5回答
如何在终端中使用GDB(GNU调试器)和OpenOCD进行微控制器调试?

使用插件连接Eclipse是编程ARM微控制器的标准低成本方法。Eclipse确实有其优点,但我想独立于此IDE。我想要了解在构建(编译-链接-刷写)我的软件时发生的情况以及运行调试会发生什么。为了获得这样更深入的理解,从命令行运行整个过程将会很好。 注意:我使用的是64位Windows 1...

72得票11回答
使用“cc”和“gcc”作为GCC的调用方式有什么区别?

我知道在大多数GNU/Linux系统上,可以通过命令行中的“cc”(而不是“gcc”)来调用GCC。在以一种方式调用与另一种方式调用GCC之间是否存在任何差异呢?例如,我知道通过名称"g++"而不是"gcc"调用GCC会导致GCC表现不同(它将.c文件视为C++源并链接C++标准库),那么"g...

70得票2回答
为什么要使用asprintf()而不是sprintf()?

我很难明白为什么需要使用asprintf。在这里的手册中,它说: asprintf() 和 vasprintf() 函数是 sprintf(3) 和 vsprintf(3) 的类比函数,除了它们会分配一个足够大以容纳输出(包括终止空字节)的字符串,并通过第一个参数返回指向它的指针。当不...

69得票5回答
什么是GLIBC?它有什么用途?

我在搜寻C标准库的源代码,我的意思是想看看cos、abs、printf、scanf、fopen等所有标准C函数是如何编写的,也就是它们的源代码。 在这个过程中,我发现了GLIBC,但我不知道它实际上是什么。它是GNU C Library,并包含一些源代码,但它们到底是什么,是标准函数的源代码...