输出文件类型
在调用 XL C/C++ 编译器时,可以指定以下类型的输出文件:
- 可执行文件
- 缺省情况下,可执行文件名为 a.out。 要将可执行文件命名为其他名称,请在调用命令中使用 -o file_name 选项。 此选项使用您指定为 file_name 的名称创建一个可执行文件。 您指定的名称可以是可执行文件的相对或绝对路径名。
AIX 文档中描述了 a.out 文件的格式。
- 对象文件
- 如果您指定 -c 选项,那么将为每个输入文件生成输出对象文件 file_name.o。 不会调用链接程序,并且对象文件将放置在当前目录中。 所有处理在编译完成时停止。 编译器为对象文件提供 .o 后缀,例如
file_name.o
,除非您指定 -o file_name 选项,并提供其他后缀,或者根本不提供后缀。可以稍后通过调用编译器将对象文件链接到单个可执行文件中。
- 共享库文件
- 如果指定 -qmkshrobj 选项,那么编译器将为所有输入文件生成单个共享库文件。 除非指定 -o file_name 选项,否则编译器会将输出文件命名为 shr.o,并为该文件指定 .so 后缀。
- 汇编程序文件
- 如果您指定 -S 选项,那么将为每个输入文件生成汇编程序文件 file_name.s。
然后,可以将汇编程序文件汇编成对象文件,并通过重新调用编译器来链接这些对象文件。
- 预处理的源文件
- 如果指定 -P 选项,那么将为每个输入文件生成预处理的源文件 file_name.i。
然后,可以将预处理文件编译成对象文件,并通过重新调用编译器来链接这些对象文件。
- 列表文件
- 如果您指定了任何列表相关选项,例如 -qlist 或
-qsource
,则将为每个输入文件生成一个编译器列表文件 file_name.lst。 列表文件放置在当前目录中。
- 目标文件
如果您指定 -qmakedep 或者 -M 选项,为每个输入文件生成一个适合包含在 makefile 中的目标文件, file_name .u。 您可以使用 -MF 选项指定由 -qmakedep 或 -M 选项生成的依赖输出文件的名称或位置。
如果您指定了 -M、 -MD 或 -MMD 选项,则将为每个输入文件生成一个适合包含在makefile中的目标文件 file_name.d。