Linux的开发环境相当完善,运行完全。 它主要由GNU的编译器和库以及许多支持C、c和汇编语言程序的系统例程和库组成。
重点是针对c和c语言。 Linux的源代码主要用c语言实现,开发人员可以很容易地获得、修改和重新编译,因此提供给了Linux操作系统
强大的c语言开发环境很重要。 Linux开发环境包括GNU编译工具集、调试工具和相关实用程序。
1.GNU编译工具
收集GCC
(1) ) ) )。
cpp,c语言预处理程序。 负责宏展开、条件编译指令及其他头文件和行控制等功能。 调用预处理程序是从源代码中创建二进制可执行文件的第一步。
)2) as,汇编程序。 用于从汇编语言源文件创建带有. o后缀的二进制目标文件。
)3) ld,链接器。 用于将目标文件链接到系统目标文件和库文件,并创建二进制可执行文件。
2.GNU调试工具GDB
GDB是一个功能强大、使用广泛的调试器。 GDB编写具有特定调试信息的程序,以跨代
在代码中设置断点,然后在运行时逐步执行代码。 GDB的一般指令包括list、break、run、
执行下一行、step、print、显示表达式、continue、
info (显示调试器的状态信息)、show (显示被调试器的信息)、backtrace (后退)、显示调用轨迹、同where、info stack (堆栈)等。
3 .实用程序集Binutils
)1) ar,
归档每个程序,并从代码归档中创建、修改和提取文件。
(2) nm,用于列举对象文件中的符号。
(3) objcopy,用于对象文件的复制和转换。
(4)用于显示objdump、二进制文件的内容。
(5)生成ranlib、档案文件内容的索引。
(6)列出size、对象文件的整体大小和各段的大小。
(7) strings,列出文件中的可打印字符串。
)8) strip,清除文件的是符号。
) readELF,显示有关文件中的elf格式的信息。
(10 )结构、
用于跟踪程序执行的系统调用和接收到的信号。