### Summary of Compiler Options (in alphabetical order)

Option | Description
--- | ---
/? | Display a list of compiler options with descriptions.
/B"options" | Pass options to linker, in addition to default options.
/C[+|-] | Perform compile without linking, instead of compiling and linking.
/Dname | Define preprocessor macros.
/Fa[+|-][dir][name] | Produce, name, and direct assembler listing file.
/Fc[+|-] | Perform syntax check only, instead of a full compile.
/Fename | Specify name of executable output file.
/Fi[+|-][dir][name] | Produce, name, and direct a precompiled header file.
/Fl[+|-][dir][name] | Produce, name, and direct listing file.
/Fm[+|-] | Produce and name linker map file.
/Fn[+|-][dir][name] | Produce, name, and direct assembler listing file with source and machine code as comments.
/Fo[+|-][dir][name] | Control and name object file.
/Ft[+|-][dir] | Control and direct files for template resolution.
/G[3|4|5] | Specify the processor for which the code is optimized.
/Gd[+|-] | Dynamically link to the runtime library, instead of linking statically.
/Ge[+|-] | Build .exe or .dll file.
/Gf[+|-] | Use fast floating-point execution.
/Gi[+|-] | Use fast integer execution.
/Gk[+|-] | Link with Version 2 C++ libraries.
/Gl[+|-] | Remove unreferenced functions.
/Gm[+|-] | Link with the multithread library, instead of the single-thread library.
/Gn[+|-] | Hide default library information from linker.
/Gp | Support parmdwords
/Gr[+|-] | Generate code to run at ring 0.
/Gs[+|-] | Remove stack probes.
/Gt[+|-] | Support tiled memory.
/Gv[+|-] | Support development of virtual device drivers.
/Gx[+|-] | Remove C++ exception handling information.
/Gy[+|-] | Decorate all external names with a leading underscore.
/Hnum | Set maximum length of external names.
/Ipath[path] | Specify include search paths, in addition to directory of source file and paths in INCLUDE.
/J[+|-] | Treat unspecified char variables as signed char, instead of unsigned char.
/L[+|-] | Produce a minimal listing file.
/La[+|-] | Include a minimal layout in the listing file, showing referenced struct and union variables.
/Lb[+|-] | Include a layout in the listing file, showing all struct and union variables.
/Le[+|-] | Expand macros in the listing file.
/Lf[+|-] | Set all listing options on.
/Li[+|-] | Expand user include files in the listing file.
/Lj[+|-] | Expand user and system include files in the listing file.
/Lpnum | Set page length of listing file.
/Ls[+|-] | Include the source code in the listing file.
/Lt"string" | Set title string for the listing file.
/Lu"string" | Set subtitle string in the listing file.
/Lx[+|-] | Generate a minimal cross-reference table in the listing file.
/Ly[+|-] | Generate a cross-reference table in the listing file.
/M[p|s|c|t] | Set default calling convention.
/Nn | End compilation when error count reaches n.
/Ndname | Set names of default data, uninitialized data, and constant segments.
/Nt name | Set names of default code or text segment.
/Nx name | Set names of exception-handling segments.
/O[+|-|2|3] | Optimize code.
/Oc[+|-] | Optimize code for size.
/Oi[+|-] /Oi[value] | Inline user functions.
/Om[+|-] | Limit working set size.
/Op[+|-] | Perform optimizations that involve the stack pointer.
/Oq[+|-] | Control stackchaining.
/Os[+|-] | Invoke the instruction scheduler.
/P[+|-] | Run the preprocessor only, instead of a full compile.
/Pc[+|-] | Preserve source code comments in preprocessor output.
/Pd[+|-] | Redirect preprocessor output to stdout.
/Pe[+|-] | Suppress #line directives in preprocessor output.
/Q[+|-] | Suppress the compiler logo when invoking the compiler.
/qalias | Specify which aliasing rules can be used during optimization.
/qarch | Specify architecture on which executable will run.
/qautoimported | Import all external references.
/qautothread | Turn static, nonconstant data into thread-local data.
/qbitfields | Specify default sign of bitfields.
/qdbgunref | Use referenced and unreferenced symbols during debugging.
/qdigraph | Permit digraph and keyword operators.
/qignerrno | Optimize without reference to errno
/qignprag=[disjoint |isolated|all] | Ignore references to #pragma disjoint and #pragma isolated_call.
/qinitauto=hex_value | Initialize automatic storage
/qisolated_call | List functions that do not change data objects at time of function call.
/qlibansi | Process ANSI C library names as system functions.
/qlonglong | Process or disallow data type of LONG LONG INT.
/qmakedep | Create dependency files to include in makefile.
/qro | Use read-only storage for string literals.
/qrtti=rtoption | Generate information for the typeid operator and the dynamic_cast operator.
/qsomvolattr | Use volatile on attribute prototypes.
/qtune=option | Specify the processor for which code is optimized.
/R[e|n] | Generate code that can be used as a subsystem without a runtime environment.
/S[a|c|e|2] | Set language level.
/Sd[+|-] | Set the default file extension for source files to .c, instead of .obj.
/Sg[l][,r|*] /Sg[-] | Set left and right margins for the input file, and ignore text outside these margins.
/Sh[+|-] | Allow use of ddnames.
/Si[+|-] | Use precompiled header files, if they exist and are current.
/Sm[+|-] | Ignore obsolete keywords, instead of treating them like any other identifier.
/Sn[+|-] | Allow use of DBCS.
/Sp[1|2|4|8|16] | Specify alignment or packing of data items within structures and unions.
/Sq[l][,r|*] | Ignore text in specified columns, instead of processing all the contents of the input file.
/Sr[+|-] | Use old-style rules for type conversion, instead of new-style rules.
/Ss[+|-] | Allow double slashes to indicate comments.
/Su[+|-|1|2|4] | Control size of enum variables, instead of using the SAA rules.
/Sv[+|-] | Allow use of memory files.
/Tcfilename | Compile filename as a C source file, regardless of its extension.
/Td[c|p] | Specify the default language (C or C++) for files, instead of compiling according to the file extension.
/Ti[+|-] | Generate debugger information.
/Tm[+|-] | Enable debug version of memory management functions.
/Tn[+|-] | Generate partial debugger information.
/Tpfilename | Compile the following file as a C++ source file, regardless of its extension.
/Tx[+|-] | Provide a complete machine-state dump when an exception occurs, instead of providing only the exception message and address.
/U[name|*] | Undefine macros.
/V"string" | Include a version string in the object and executable files.
/W[0|1|2|3] | Set severity level of messages the compiler produces and counts.
/Wgrp[+|-][grp] | Generate or suppress messages in the grp group.
/Xc[+|-] | Do not search paths specified using /I.
/Xi[+|-] | Do not search paths specified in INCLUDE.

Summary of Compiler Options by Function