本章其余部分讨论了 CC 命令使用的约定、编译器源代码行指令和其他有关编译器的使用问题。
CC [options] [source-files] [object-files] [libraries]
选项是前缀为短划线 (–) 或加号 (+) 的选项关键字。某些选项带有参数。
通常,编译器选项的处理顺序是从左到右,从而允许有选择地覆盖宏选项(包含其他选项的选项)。在大多数的情况下,如果您多次指定同一个选项,那么最右边的赋值会覆盖前面的赋值,而不会累积。注意以下特殊情况:
所有链接程序选项和 -features、–I -l、– L、-library、–pti、–R、-staticlib、-U、-verbose、-xdumpmacros 和 -xprefetch 选项都会累积,但它们不会覆盖。
所有 –U 选项都在所有 –D 选项之后处理。
源文件、对象文件和库按它们在命令行上出现的顺序编译并链接。
在以下示例中,在启用了运行时调试的情况下,使用 CC 编译两个源文件(growth.C 和 fft.C)来生成名为 growth 的可执行文件:
example% CC -g -o growth growth.C fft.C
命令行上附加在文件名后面的后缀确定了编译器处理文件的方式。如果文件名称的后缀没有在下表中列出,或文件名称没有后缀,那么都要传递到链接程序。
|
C++ 编译器在命令行上接受多个源文件。编译器编译的单个源文件和其直接或间接包括的任何文件一起统称为编译单元。 C++ 将每个源作为一个单独的编译单元处理。