GNU工具链

💡 原文英文,约400词,阅读约需2分钟。
📝

内容提要

本文介绍了GNU工具链的二进制文件,包括编译器GCC及其前后端组件,以及binutils中的工具如objcopy和strip,还提到性能分析工具gprof。

🎯

关键要点

  • GNU工具链的二进制文件包括编译器GCC及其前后端组件。
  • GCC位于/usr/bin,可能会以机器元组为前缀。
  • binutils中的工具包括ld(链接器)、objcopy(复制和转换对象文件)和strip(移除符号和调试信息)。
  • ld有两个实现:ld.bfd(旧版,支持性强)和ld.gold(新版,更快)。
  • GCC的前端程序包括gcc(GNU编译器)、cc(gcc的别名)、g++(C++编译器)等。
  • GCC的后端程序位于/usr/lib/gcc/<m>/<v>/,包括cc1(C编译器)和cc1plus(C++编译器)。
  • gprof是性能分析工具,包含多个子工具如gp-archive和gprofng。

延伸问答

GNU工具链的主要组成部分有哪些?

GNU工具链主要由编译器GCC及其前后端组件,以及binutils中的工具如ld、objcopy和strip组成。

GCC的前端程序包括哪些?

GCC的前端程序包括gcc、cc、g++等。

ld工具有哪些不同的实现?

ld工具有两个实现:ld.bfd(旧版,支持性强)和ld.gold(新版,更快)。

binutils中的objcopy工具有什么功能?

objcopy工具用于复制和转换对象文件。

gprof工具的用途是什么?

gprof是性能分析工具,用于分析程序的性能表现。

GCC的后端程序存放在哪里?

GCC的后端程序位于/usr/lib/gcc/<m>/<v>/目录下。

➡️

继续阅读