This section describes all the current Linux*, Mac OS*, and Windows* compiler options in alphabetical order.
Each option description contains the following information:
This shows information related to the integrated development environment (IDE) Property Pages on Windows, Linux, and Mac OS systems. It shows on which Property Page the option appears, and under what category it's listed. The Windows IDE is Microsoft* Visual Studio* .NET; the Linux IDE is Eclipse; the Mac OS IDE is Xcode*. If the option has no IDE equivalent, it will specify "None".
This shows the architectures where the option is valid. Possible architectures are:
This shows the syntax on Linux and Mac OS systems and the syntax on Windows systems. If the option has no syntax on one of these systems, that is, the option is not valid on a particular system, it will specify "None".
This shows any arguments (parameters) that are related to the option. If the option has no arguments, it will specify "None".
This shows the default setting for the option.
This shows the full description of the option. It may also include further information on any applicable arguments.
These are options that are synonyms of the described option. If
there are no alternate options, it will specify "None".
Many options have an older spelling where underscores
("_") instead of hyphens ("-") connect the main option
names. The older spelling is a valid alternate option name.
Some option descriptions may also have the following:
This shows a short example that includes the option
This shows where you can get further information on the option or related options.
You cannot combine options with a single dash (Linux and Mac OS) or slash (Windows). For example:
Some compiler options are case-sensitive. For example, -c (or /c) and -C (or /C) are two different options.
All compiler options are case sensitive. Some options have different meanings depending on their case; for example, option "c" prevents linking, but option "C" places comments in preprocessed source output.
Options specified on the command line apply to all files named on the command line.
Options can take arguments in the form of file names, strings, letters, or numbers. If a string includes spaces, the string must be enclosed in quotation marks. For example:
Compiler options can appear in any order.
On Windows systems, all compiler options must precede /link options, if any, on the command line.
Unless you specify certain options, the command line will both compile and link the files you specify.
You can abbreviate some option names, entering as many characters as are needed to uniquely identify the option.
Certain options accept one or more keyword arguments following the option name. For example, the arch option accepts several keywords.
To specify multiple keywords, you typically specify the option multiple times. However, there are exceptions; for example, the following are valid: -axNB (Linux) or /QaxNB (Windows).
Compiler options remain in effect for the whole compilation unless overridden by a #pragma.
To disable an option, specify the negative form of the option.
On Windows systems, you can also disable one or more options by specifying option /Od last on the command line.
On Windows systems, the /Od option is part of a mutually-exclusive group of options that includes /Od, /O1, /O2, /O3, and /Ox. The last of any of these options specified on the command line will override the previous options from this group.
If there are enabling and disabling versions of an option on the command line, the last one on the command line takes precedence.
You can print a list of the compiler options by specifying the help option.