The following table lists all the current compiler options in alphabetical order.
Enables language compatibility with the gcc option ansi. |
|
Specifies a directory that can be used to find include files, libraries, and executables. |
|
Places comments in preprocessed source output. |
|
Prevents linking. |
|
Defines a macro name that can be associated with an optional value. |
|
Tells the compiler to link to certain libraries in the Intel® oneAPI Data Analytics Library ( oneDAL ) . |
|
Same as option -dM, but outputs #define directives in preprocessed source. |
|
Enables or disables certain device libraries. |
|
Tells the compiler to output macro definitions in effect after preprocessing. |
|
Displays the target machine and operating system configuration. |
|
Displays the version number of the compiler. |
|
Causes the preprocessor to send output to stdout. |
|
Specifies the model of exception handling to be performed. |
|
Causes the preprocessor to send output to stdout, omitting #line directives. |
|
Specifies that an assembly listing file should be generated. |
|
Specifies the contents of an assembly listing file. |
|
Enables the use of blocks and entire functions of assembly code within a C or C++ file. |
|
Determines whether unwind information is precise at an instruction boundary or at a call boundary. |
|
Enables or disables inline expansion of intrinsic functions. |
|
Displays the full path of source files passed to the compiler in diagnostics. |
|
Determines whether the compiler treats common symbols as global definitions. |
|
Generates file dependencies related to the Microsoft* C/C++ compiler. |
|
Lets you specify a name for a program database (PDB) file created by the compiler. |
|
Specifies the name for a built program or dynamic-link library. |
|
Enables exception handling table generation. |
|
Ensures that compilation takes place in a freestanding environment. |
|
Places each function in its own COMDAT section. |
|
Tells the compiler to use C89 semantics for inline functions when in C99 mode. |
|
Enables function inlining for single file compilation. |
|
Tells the compiler to inline functions declared with __inline and perform C++ inlining . |
|
Lets you perform ahead-of-time (AOT) compilation with the Flexible Programmable Gate Array (FPGA). |
|
Tells the preprocessor to include a specified file name as the header file. |
|
Determines whether jump tables are generated for switch statements. |
|
Tells the compiler to preserve allocation of variables that are not referenced in the source. |
|
Tells the compiler that errno can be reliably tested after calls to standard math library functions. |
|
Tells the compiler to not recognize typeof as a keyword. |
|
Disables support for the operator names specified in the standard. |
|
Disables support for run-time type information (RTTI). |
|
Tells the compiler to link with a fat (multi-architecture) static library. |
|
Determines whether EBP is used as a general-purpose register in optimizations. |
|
Determines whether the compiler optimizes tail recursive calls. |
|
Specifies the name for an object file. |
|
Specifies that structure members should be packed together. |
|
Tells the compiler to allow for non-conformant code. |
|
Determines whether the compiler generates position-independent code. |
|
Tells the compiler to generate position-independent code. The generated code can only be linked into executables. |
|
Lets you specify an alternate path or file name for precompiled header files. |
|
Tells the compiler to allocate as many bytes as needed for enumerated types. |
|
Enables or disables stack overflow security checks for certain (or all) routines. |
|
Lets you add arbitrary device binary images to the fat SYCL* binary when linking. |
|
Tells the compiler to generate a device-only binary. |
|
Enables a program to be compiled as a SYCL* program rather than as plain C++11 program. |
|
Tells the compiler to link only device code. |
|
Tells the compiler to perform a partial link of device binaries to be used with Flexible Programmable Gate Array (FPGA). |
|
Tells the compiler to generate code for specified devices. |
|
Enables unnamed SYCL* lambda kernels. |
|
Tells the compiler to produce device code in LLVM IR bitcode format into fat objects. |
|
Tells the compiler to check only for correct syntax. |
|
Initializes stack local variables to an unusual value to aid error detection. |
|
Change default char type to unsigned. |
|
Tells the compiler to use a different linker instead of the default linker (ld). |
|
Produces an assembly listing with compiler comments, including options and version information. |
|
Determines whether the compiler places in the DATA section any variables explicitly initialized with zeros. |
|
Tells the compiler to generate a level of debugging information in the object file. |
|
Enables faster access to certain thread-local storage (TLS) variables. |
|
Makes __cdecl the default calling convention. |
|
Lets you specify a DWARF Version format when generating debug information. |
|
Enables read-only string-pooling optimization. |
|
Enables a minimal rebuild. |
|
Causes the command line options that were used to invoke the compiler to be appended to the DW_AT_producer attribute in DWARF debugging information. |
|
Enables or disables C++ Run Time Type Information (RTTI). |
|
Determines whether the compiler generates code that detects some buffer overruns. |
|
Lets you control the threshold at which the stack checking routine is called or not called. |
|
Creates a separate object file containing DWARF debug information. |
|
Enables the control flow protection mechanism. |
|
Tells the compiler to use the vector calling convention (__vectorcall) when passing vector type arguments. |
|
Separates functions into COMDATs for the linker. |
|
Tells the compiler to display the include file order and continue compilation. |
|
Displays all available compiler options or a category of compiler options. |
|
Specifies an additional directory to search for include files. |
|
Splits the include path. |
|
Adds a directory to the second include file search path. |
|
Allows a header to be specified that is included in front of the other headers in the translation unit. |
|
Enables interprocedural optimization between files. |
|
Tells the compiler to link to the some or all of the Intel® Integrated Performance Primitives (Intel® IPP) libraries. |
|
Controls whether the compiler links to static or dynamic threaded Intel® Integrated Performance Primitives (Intel® IPP) run-time libraries. |
|
Lets you indicate the prefix for referencing directories that contain header files. |
|
Adds a directory to the front of the include file search path for files included with quotes but not brackets. |
|
Specifies a directory to add to the start of the system include path. |
|
Appends a directory to the prefix passed in by -iprefix and puts it on the include search path at the end of the include directories. |
|
Similar to -iwithprefix except the include directory is placed in the same place as -I command-line include directories. |
|
Sets the default character type to unsigned. |
|
Tells the compiler to process all source or unrecognized file types as C++ source files. |
|
Tells the linker to search for a specified library when linking. |
|
Tells the linker to search for libraries in a specified directory before searching the standard directories. |
|
Specifies that a program should be linked as a dynamic-link (DLL) library. |
|
Passes user-specified options directly to the linker at compile time. |
|
Tells the compiler to generate makefile dependency lines for each source file. |
|
Tells the compiler to generate code for a specific architecture. |
|
Specifies whether the compiler can use x87 instructions. |
|
Tells the compiler to generate code for processors that support certain features. |
|
Tells the compiler to generate the assembler output file using a selected dialect. |
|
Tells the compiler to use a specific memory model to generate code and store data. |
|
Preprocess and compile, generating output file containing dependency information ending with extension .d. |
|
Tells the linker to search for unresolved references in a multithreaded, dynamic-link run-time library. |
|
Tells the compiler to generate makefile dependency information in a file. |
|
Tells the compiler to generate makefile dependency lines for each source file. |
|
Enables functions containing calls to intrinsics that require a specific CPU feature to have their target architecture automatically promoted to allow the required feature. |
|
Tells the compiler to link to certain libraries in the Intel® oneAPI Math Kernel Library ( oneMKL ) . On Windows systems, you must specify this option at compile time. |
|
Tells the compiler to generate makefile dependency lines for each source file. |
|
Tells the compiler to generate an output file containing dependency information. |
|
Determines whether the frame pointer is omitted or kept in leaf functions. |
|
Tells the compiler to add a phony target for each dependency. |
|
Changes the default target rule for dependency generation. |
|
Changes the default target rule for dependency generation. |
|
Tells the linker to search for unresolved references in a multithreaded, static run-time library. |
|
Prevents the compiler from using standard libraries when linking. |
|
Tells the compiler to not display compiler version information. |
|
Prevents the compiler from using standard startup files when linking. |
|
Do not search for header files in the standard directories for C++, but search the other standard directories. |
|
Prevents the compiler from using standard libraries and startup files when linking. |
|
Specifies the code optimization for applications. |
|
Specifies the name for an output file. |
|
Disables all optimizations. |
|
Sets certain aggressive options to improve the speed of your application. |
|
Enables optimizations that do not increase code size; it produces smaller code size than O2. |
|
Enables all speed optimizations. |
|
Enables maximum optimizations. |
|
Tells the compiler to stop the compilation process and write the results to a file. |
|
Determines whether the compiler generates position-independent code that will be linked into an executable. |
|
Prints information about where system libraries should be found. |
|
Tells the compiler to use pthreads library for multithreading support. |
|
Enables standard C++ features without disabling Microsoft* features. |
|
Tells the compiler to generate code such that references to statically assigned addresses can be patched. |
|
Tells the compiler that the __regcall calling convention should be used for functions that do not directly specify a calling convention. |
|
Enables checking for certain run-time conditions. |
|
Causes the compiler to compile to an assembly file only and not link. |
|
Tells the compiler to save intermediate files created during compilation. |
|
Links the GNU libgcc library dynamically. |
|
Tells the compiler to produce a dynamic shared object instead of an executable. |
|
Tells the compiler to display a list of the include files. |
|
Links the GNU libgcc library statically. |
|
Links the GNU libstdc++ library statically. |
|
Prevents linking with shared libraries. |
|
Tells the compiler to conform to a specific language standard. |
|
Specifies the root directory where headers and libraries are located. |
|
Tells the linker to read link commands from a file. |
|
Tells the compiler to link to the Intel® oneAPI Threading Building Blocks ( oneTBB ) libraries. |
|
Tells the compiler to process a file as a C source file. |
|
Tells the compiler to process all source or unrecognized file types as C source files. |
|
Tells the compiler to process a file as a C++ source file. |
|
Undefines any definition currently in effect for the specified macro . |
|
Tells the compiler the specified symbol is undefined. |
|
Disables all predefined macros . |
|
Tells the compiler the maximum number of times to unroll loops. |
|
Enables the use of blocks and entire functions of assembly code within a C or C++ file. |
|
Specifies that driver tool commands should be displayed and executed. |
|
Enables or suppresses hidden vtordisp members in C++ objects. |
|
Tells the compiler to display GCC-style version information. |
|
Selects the general representation that the compiler uses for pointers to members. |
|
Enables pointers to members of any inheritance type. |
|
Specifies the level of diagnostic messages to be generated by the compiler. |
|
Disables all warning messages. |
|
Determines whether a warning is issued if generated code is not C++ ABI compliant. |
|
Enables warning and error diagnostics. |
|
Passes options to the assembler for processing. |
|
Determines whether a warning is issued when /* appears in the middle of a /* */ comment. |
|
Determines whether warnings are issued for deprecated C++ headers. |
|
Enables warnings based on certain C++ programming guidelines. |
|
Changes all warnings to errors. |
|
Causes all warnings and currently-enabled remarks to be reported as errors. |
|
Determines whether warnings are issued about extra tokens at the end of preprocessor directives. |
|
Determines whether argument checking is enabled for calls to printf, scanf, and so forth. |
|
Determines whether the compiler issues a warning when the use of format functions may cause security problems. |
|
Passes options to the linker for processing. |
|
Determines whether a warning is issued if the return type of main is not expected. |
|
Determines whether warnings are issued for global functions and variables without prior declaration. |
|
Determines whether warnings are issued for missing prototypes. |
|
Determines whether warnings are issued for questionable pointer arithmetic. |
|
Passes options to the preprocessor. |
|
Tells the compiler to issue a warning when the order of member initializers does not match the order in which they must be executed. |
|
Determines whether warnings are issued when a function is declared without a return type, when the definition of a function returning void contains a return statement with an expression, or when the closing brace of a function returning non-void is reached. |
|
Determines whether a warning is issued when a variable declaration hides a previous declaration. |
|
Determines whether warnings are issued when a comparison between signed and unsigned values could produce an incorrect result when the signed value is converted to unsigned. |
|
Determines whether warnings are issued for code that might violate the optimizer's strict aliasing rules. |
|
Determines whether warnings are issued for functions declared or defined without specified argument types. |
|
Determines whether warnings are issued if any trigraphs are encountered that might change the meaning of the program. |
|
Determines whether a warning is issued if a variable is used before being initialized. |
|
Determines whether a warning is issued if an unknown #pragma directive is used. |
|
Determines whether a warning is issued if a declared function is not used. |
|
Determines whether a warning is issued if a local or non-constant static variable is unused after being declared. |
|
Issues a diagnostic message if const char * is converted to (non-const) char *. |
|
Removes standard directories from the include file search path. |
|
All source files found subsequent to -x type will be recognized as a particular type. |
|
Passes a linker option directly to the linker. |
|
Passes options to the backend tool. |
|
Enables options to be passed to the specified tool in the device compilation tool chain for the target. |
|
Tells the compiler to create a precompiled header file. |
|
Tells the compiler to ignore all other precompiled header files. |
|
Tells the compiler to use a precompiled header file. |
|
Lets you specify ANSI C standard conformance for certain language features. |
|
Tells the compiler to generate full debugging information in either an object (.obj) file or a project database (PDB) file. |
|
Causes library names to be omitted from the object file. |
|
Specifies alignment for structures on byte boundaries. |
|
Tells the compiler to check only for correct syntax. |