【发布时间】:2018-10-22 18:44:06
【问题描述】:
在哪些方面可以成为C/程序集/对象/可执行编译器的例子?
我想要比维基百科提供的更多信息。 另外,如果您可以链接一些我可以找到更多相关信息的来源,那就太好了。
【问题讨论】:
在哪些方面可以成为C/程序集/对象/可执行编译器的例子?
我想要比维基百科提供的更多信息。 另外,如果您可以链接一些我可以找到更多相关信息的来源,那就太好了。
【问题讨论】:
来自Wiktionary,工具链是:
一组用于软件开发的工具,通常按顺序使用,以便一个工具的输出包含下一个工具的输入。
GCC 是 GNU 编译器集合;即一组来自 GNU 的不同语言的编译器。来自official webpage:
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 是二进制工具的集合。
【讨论】: