用于 C 编译的特定 GCC 程序和库
Specific GCC programs and libs for C compiling
我想知道 GCC 在编译 C 程序时使用的具体程序(和库)是什么。我听说当我调用名为 "GCC" 的可执行程序时,它并没有真正用自己编译程序。相反,它将调用另一个程序进行编译和另一个程序进行链接。我还听说我们可以使用 -S 选项将 C 语言转换为汇编语言(所以我认为它已被另一个程序翻译)。我尝试搜索 GCC 文档,但找不到答案。负责创建 C 程序的程序和库是什么?提前致谢!
GCC 本身只提供编译器:cc
用于 C,c++
用于 C++,等等。其他重要程序由 binutils
包提供。
根据Wikipedia,它们是:
- as 汇编程序,俗称 GAS(GNU 汇编程序)
- ld linker
- gprof 分析器
- addr2line 将地址转换为文件和行
- ar 创建、修改和提取档案
- c++filt C++ 符号的分解过滤器
- dlltool 创建 Windows 动态-link 库
- 黄金备选linker
- nlmconv 目标文件转换为 NetWare 可加载模块
- nm 列出目标文件中的符号
- objcopy 复制目标文件,可能进行更改
- objdump 转储目标文件信息
- ranlib 生成档案索引
- readelf 显示 ELF 文件大小列表总和部分大小的内容
- 字符串 列出可打印的字符串
- strip 从目标文件中删除符号
- windmc 生成Windows 消息资源
- windres Windows 编译器
资源文件
我想知道 GCC 在编译 C 程序时使用的具体程序(和库)是什么。我听说当我调用名为 "GCC" 的可执行程序时,它并没有真正用自己编译程序。相反,它将调用另一个程序进行编译和另一个程序进行链接。我还听说我们可以使用 -S 选项将 C 语言转换为汇编语言(所以我认为它已被另一个程序翻译)。我尝试搜索 GCC 文档,但找不到答案。负责创建 C 程序的程序和库是什么?提前致谢!
GCC 本身只提供编译器:cc
用于 C,c++
用于 C++,等等。其他重要程序由 binutils
包提供。
根据Wikipedia,它们是:
- as 汇编程序,俗称 GAS(GNU 汇编程序)
- ld linker
- gprof 分析器
- addr2line 将地址转换为文件和行
- ar 创建、修改和提取档案
- c++filt C++ 符号的分解过滤器
- dlltool 创建 Windows 动态-link 库
- 黄金备选linker
- nlmconv 目标文件转换为 NetWare 可加载模块
- nm 列出目标文件中的符号
- objcopy 复制目标文件,可能进行更改
- objdump 转储目标文件信息
- ranlib 生成档案索引
- readelf 显示 ELF 文件大小列表总和部分大小的内容
- 字符串 列出可打印的字符串
- strip 从目标文件中删除符号
- windmc 生成Windows 消息资源
- windres Windows 编译器 资源文件