C++ 编译器软件包由前端、优化器、代码生成器、汇编程序、模板预链接程序和链接编辑器组成。CC 命令会自动调用其中每个组件,除非使用命令行选项进行其他指定。
因为这些组件中的任何一个都可能生成错误,并且各个组件执行不同的任务,所以标识生成错误的组件是有意义的。可使用 -v 和 -dryrun 选项帮助解决此问题。
正如下表所示,不同编译器组件的输入文件拥有不同的文件名后缀。后缀建立了要进行的编译类型。有关文件后缀的含义,请参阅表 2–1。
表 2–2 C++ 编译系统的组件
组件 |
说明 |
使用说明 |
---|---|---|
前端(编译器预处理程序和编译器) | ||
代码优化器 |
-xO[2-5], -fast |
|
x86:中间语言转换器 |
-xO[2-5], -fast |
|
SPARC:汇编语言模板的内联扩展 |
指定 .il 文件 |
|
汇编程序 | ||
SPARC:代码生成器、内联函数、汇编程序 |
|
|
ube |
x86:代码生成器 |
-xO[2-5], -fast |
模板预链接程序 |
仅与 -instances=extern 选项一起使用 |
|
链接编辑器 |