什么是GCC工具链?

Adr*_*ngo 2 gcc toolchain

它可以通过哪些方式作为C / assembly / object / executable编译器的示例?

我希望获得的信息比维基百科提供的信息少。另外,如果您可以链接一些可以在其中找到更多信息的资源,那将是很棒的。

Aco*_*orn 5

Wiktionary中,工具链为:

一组软件开发工具,通常按顺序使用,因此一个工具的输出包括下一个的输入。

GCC是GNU编译器集合;即一组用于GNU不同语言的编译器。从官方网页

GNU编译器集合包括C,C ++,Objective-C,Fortran,Ada和Go的前端,以及这些语言的库(libstdc ++等)。

因此,GCC工具链是一组应用程序和库,用于编译以多种语言编写的程序。例如,对于C和C ++语言,其中包括以下工具:

  • cpp 预处理器
  • gcc C编译器
  • g++ C ++编译器
  • gcov 测试覆盖计划

以及类似的库:

  • libbacktrace 符号回溯生产者
  • libquadmath 四精度数学库
  • libstdc++-v3 C ++标准库

现在,当有人提到GCC工具链时,通常他们也隐式地提到了其他并非来自GCC项目/资源库但通常是开发所必需的实用程序。例如,以下工具:

  • ar 存档操作程序
  • as 组装工
  • c++filt C ++分解器
  • ld 连接器
  • nm 目标文件符号列表
  • objdump 目标文件信息转储器

如果您正在使用GNU中的这些工具的实现,那么您正在使用GNU Binutils项目:

GNU Binutils是二进制工具的集合。