This documentation is archived and is not being maintained.

Compiler Options Listed Alphabetically

The following is a comprehensive alphabetical list of compiler options. For a categorical list, see the Compiler Options Listed by Category.

Option Purpose
@ Specifies a response file
/? Lists the compiler options
/AI Specifies a directory to search to resolve file references passed to the #using directive
/arch Use SSE or SSE2 instructions in code generation
/C Preserves comments during preprocessing
/c Compiles without linking
/clr Enables Managed Extensions for C++ and produces an output file to run on the common language runtime
/D Defines constants and macros
/E Copies preprocessor output to standard output
/EH Specifies the model of exception handling
/EP Copies preprocessor output to standard output
/F Sets stack size
/FA Creates a listing file
/Fa Sets listing file name
/Fd Renames program database file
/Fe Renames the executable file
/FI Preprocesses the specified include file
/Fm Creates a mapfile
/Fo Creates an object file
/Fp Specifies a precompiled header file name
Generates browser files
/FU Forces the use of a file name as if it had been passed to the #using directive
/Fx Merges injected code with source file
/G3 Optimizes code to favor the 386 processor. Phased out in Visual C++ 5.0, the compiler will ignore this option
/G4 Optimizes code to favor the 486 processor. Phased out in Visual C++ 5.0, the compiler will ignore this option
/G5 Optimizes code to favor the Pentium processor
/G6 Optimizes code to favor the Pentium Pro, Pentium II, and Pentium III processors
/G7 Optimizes code to favor the Pentium 4 or Athlon.
/GA Optimizes code for Windows application
/GB Equivalent to /G6; sets the value of _M_IX86 to 600
/Gd Uses the __cdecl calling convention
/Ge Activates stack probes
Enables string pooling
/GH Calls hook function _pexit
/Gh Calls hook function _penter
/GL Enables whole program optimization
/Gm Enables minimal rebuild
/GR Enables run-time type information (RTTI)
/Gr Uses the __fastcall calling convention
/GS Buffers security check
/Gs Controls stack probes
/GT Supports fiber safety for data allocated using static thread-local storage
/GX Enables synchronous exception handling
/Gy Enables function-level linking
/GZ Same as /RTC1
/Gz Uses the __stdcall calling convention
/H Restricts the length of external (public) names
/HELP Lists the compiler options
/I Searches a directory for include files
/J Changes the default char type
/LD Creates a dynamic-link library
/LDd Creates a debug dynamic-link library
/link Passes the specified option to LINK
/MD Creates a multithreaded DLL using MSVCRT.lib
/MDd Creates a debug multithreaded DLL using MSVCRTD.lib
/ML Creates a single-threaded executable file using LIBC.lib
/MLd Creates a debug single-threaded executable file using LIBCD.lib
/MT Creates a multithreaded executable file using LIBCMT.lib
/MTd Creates a debug multithreaded executable file using LIBCMTD.lib
/nologo Suppresses display of sign-on banner
/O1 Creates small code
/O2 Creates fast code
/Oa Assumes no aliasing
/Ob Controls inline expansion
/Od Disables optimization
/Og Uses global optimizations
/Oi Generates intrinsic functions
/Op Improves floating-point consistency
/Os Favors small code
/Ot Favors fast code
/Ow Assumes aliasing across function calls
/Ox Uses maximum optimization (/Ob2gity /Gs)
/Oy Omits frame pointer
/QI0f Performs Pentium 0x0f erratum fix
/QIfdiv Performs Pentium FDIV erratum fix
/QIfist Suppresses _ftol when a conversion from a floating-point type to an integral type is required
/P Writes preprocessor output to a file
/RTC Enables run-time error checking
/showIncludes Displays a list of include files during compilation
Specifies a C source file
Specifies a C++ source file
/U Removes a predefined macro
/u Removes all predefined macros
/V Sets the version string
/vd Suppresses or enables hidden vtordisp class members
/vmb Uses best base for pointers to members
/vmg Uses full generality for pointers to members
/vmm Declares multiple inheritance
/vms Declares single inheritance
/vmv Declares virtual inheritance
/W Sets warning level
/w Disables all warnings
/Wall Enables all warnings, including warnings that are disabled by default
/WL Enables one-line diagnostics for error and warning messages when compiling C++ source code from the command line
/Wp64 Detects 64-bit portability problems
/X Ignores the standard include directory
/Y- Ignores all other precompiled-header compiler options in the current build
/Yc Creates a precompiled header file
/Yd Places complete debugging information in all object files
/Yl Injects a PCH reference when creating a debug library
/Yu Uses a precompiled header file during build
/YX Automates precompiled header
/Z7 Generates C 7.0–compatible debugging information
/Za Disables language extensions
/Zc Specifies standard behavior under /Ze
/Zd Generates line numbers
/Ze Enables language extensions
/Zg Generates function prototypes
/ZI Includes debug information in a program database compatible with Edit and Continue
/Zi Generates complete debugging information
/Zl Removes default library name from .obj file
/Zm Specifies the precompiled header memory allocation limit
/Zp Packs structure members
/Zs Checks syntax only

See Also

C/C++ Building Reference | Compiler Options | Setting Compiler Options