c - 用于 C 编译的特定 GCC 程序和库

标签 c gcc mingw

我想知道GCC在编译C程序时使用的具体程序(和库)是什么。我听说当我调用名为“GCC”的可执行程序时,它并没有真正自行编译该程序。相反,它将调用另一个程序进行编译并调用另一个程序进行链接。我还听说我们可以使用 -S 选项将 C 转换为汇编语言(所以我认为它已被另一个程序翻译)。我尝试搜索 GCC 文档,但找不到答案。负责创建 C 程序的程序和库有哪些?提前致谢!

最佳答案

GCC 仅提供编译器:用于 C 的 cc、用于 C++ 的 c++ 等。其他重要的程序由 binutils 包提供。

根据Wikipedia ,他们是:

  • as 汇编器,俗称 GAS(GNU 汇编器)
  • ld链接器
  • gprof 分析器
  • addr2line将地址转换为文件和行
  • ar创建、修改和从文件中提取
  • c++filt C++ 符号的分解过滤器
  • dlltool 创建 Windows 动态链接库
  • 黄金替代链接器
  • nlmconv 目标文件转换为 NetWare 可加载模块
  • nm 列出目标文件中的符号
  • objcopy复制对象文件,可能进行更改
  • objdump转储有关对象文件的信息
  • ranlib为文件生成索引
  • readelf显示ELF文件大小列表总大小和部分大小的内容
  • 字符串列出可打印字符串
  • strip从目标文件中删除符号
  • windmc生成Windows消息资源
  • windres Windows 编译器 资源文件

关于c - 用于 C 编译的特定 GCC 程序和库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35102875/

相关文章:

c - 如何计算多字节字符的数量?

c - 有没有办法就未使用的功能发出警告?

堆栈帧上缺少注入(inject)字符串的某些部分

c++ - 在不设置环境变量的情况下在 Windows 7 中运行 MinGW gcc 编译器

c - 在 C 语言中使用自定义 vector

c - 这个小 C 指针让我困惑

c - 简单的 MPI 程序因大量进程而失败

linux - 关于 Linux 中的 C/C++

c++ - 在 Windows 上使用 g++ 对 glfw3 的 undefined reference

c - MinGW/libssl 链接错误