GNU工具链
💡
原文英文,约400词,阅读约需2分钟。
📝
内容提要
本文介绍了GNU工具链的二进制文件,包括编译器、链接器等,重点讨论了GCC及其前后端组件,以及binutils在对象文件处理和符号管理方面的功能。
🎯
关键要点
-
GNU工具链的二进制文件包括编译器和链接器等。
-
GCC位于/usr/bin,可能会有机器元组的前缀。
-
GCC与binutils有重叠,部分工具是包装器。
-
binutils的功能包括汇编、链接、对象文件处理和符号管理。
-
ld有两种实现:ld.bfd(旧版)和ld.gold(新版,速度更快)。
-
objcopy用于复制和转换对象文件,ar用于处理归档文件。
-
strip用于从对象文件中移除符号和调试信息。
-
GCC的前端程序包括gcc、g++、cpp等。
-
GCC的后端程序位于/usr/lib/gcc/<m>/<v>/,包括cc1和cc1plus等。
-
gprof工具用于性能分析,提供多种功能如归档和显示。
❓
延伸问答
GNU工具链的主要组成部分有哪些?
GNU工具链主要由编译器、链接器和binutils等组成。
GCC的前端程序包括哪些?
GCC的前端程序包括gcc、g++、cpp等。
binutils的主要功能是什么?
binutils的主要功能包括汇编、链接、对象文件处理和符号管理。
ld有哪两种实现?
ld有ld.bfd(旧版)和ld.gold(新版,速度更快)两种实现。
如何使用strip命令?
strip命令用于从对象文件中移除符号和调试信息。
gprof工具的用途是什么?
gprof工具用于性能分析,提供多种功能如归档和显示。
➡️