You can specify the following types of output files when invoking
the
XL C/C++ compiler:
- Executable files
- By default, executable files are named a.out. To name the executable
file something else, use the -o file_name option with
the invocation command. This option creates an executable file with
the name you specify as file_name. The name you specify can
be a relative or absolute path name for the executable file.
The format of the a.out file is described in the
AIX® Files
Reference.
- Object files
- If you specify the -c option, an output object file, file_name.o, is produced for each input file. The linker is not
invoked, and the object files are placed in your current directory.
All processing stops at the completion of the compilation. The compiler
gives object files a .o suffix, for example, file_name.o, unless you specify the -o file_name option,
giving a different suffix or no suffix at all.
You can link the
object files later into a single executable file by invoking the compiler.
- Shared library files
- If you specify the -qmkshrobj option, the compiler generates
a single shared library file for all input files. The compiler names
the output file shr.o, unless you specify the -o file_name option, and give the file a .so suffix.
- Assembler files
- If you specify the -S option, an assembler file, file_name.s, is produced for each input file.
You can then assemble the
assembler files into object files and link the object files by reinvoking
the compiler.
- Preprocessed source files
- If you specify the -P option, a preprocessed source file, file_name.i, is produced for each input file.
You can then
compile the preprocessed files into object files and link the object
files by reinvoking the compiler.
- Listing files
- If you specify any of the listing-related options, such as -qlist or -qsource, a compiler listing file, file_name.lst, is produced for each input file. The listing file is placed
in your current directory.
- Target files
- If you specify the -M or -qmakedep option, a target
file suitable for inclusion in a makefile, file_name.u is produced
for each input file.