Output control
The options in this category control the type of output file the compiler produces, as well as the locations of the output. These are the basic options that determine the compiler components that will be invoked; the preprocessing, compilation, and linking steps that will (or will not) be taken; and the kind of output to be generated.
| Option name | Equivalent pragma name | Description |
|---|---|---|
| -c | None. | Instructs the compiler to compile or assemble the source files only but do not link. With this option, the output is a .o file for each source file. |
| -C, -C! | None. | When used in conjunction with the -E or -P options, preserves or removes comments in preprocessed output. |
| -E | None. | Preprocesses the source files named in the compiler invocation, without compiling, and writes the output to the standard output. |
| -G | None. | Generates a shared object enabled for runtime linking. |
| -qmakedep, -M | None. | Produces the dependency files that are used by the make tool for each source file. |
| -MF | None. | Specifies the name or location for the dependency output files that are generated by the -qmakedep or -M option. |
| -qmkshrobj | None. | Creates a shared object from generated object files. |
| -o | None. | Specifies a name for the output object, assembler, executable, or preprocessed file. |
| -P | None. | Preprocesses the source files named in the compiler invocation, without compiling, and creates an output preprocessed file for each input file. |
| -S | None. | Generates an assembler language file for each source file. |
| -qshowmacros | None. | Emits macro definitions to preprocessed output. |
| -qtimestamps | None. | Controls whether or not implicit time stamps are inserted into an object file. |


