按字母顺序列出的编译器选项
| 选项 | 目的 | 
| @ | 指定响应文件 | 
| /? | 列出编译器选项 | 
| /AI | 指定在解析传递到 #using 指令的文件引用时搜索的目录 | 
| /arch | 使用 SSE 或 SSE2 指令生成代码 | 
| /C | 在预处理期间保留注释 | 
| /c | 编译但不链接 | 
| /clr | 启用 C++ 的托管扩展并产生在公共语言运行库上运行的输出文件 | 
| /D | 定义常数和宏 | 
| /E | 将预处理器输出复制到标准输出 | 
| /EH | 指定异常处理模型 | 
| /EP | 将预处理器输出复制到标准输出 | 
| /F | 设置堆栈大小 | 
| /FA | 创建列表文件 | 
| /Fa | 设置列表文件名 | 
| /Fd | 重命名程序数据库文件 | 
| /Fe | 重命名可执行文件 | 
| /FI | 预处理指定的包含文件 | 
| /Fm | 创建映射文件 | 
| /Fo | 创建对象文件 | 
| /Fp | 指定预编译头文件名 | 
| /FR/Fr | 生成浏览器文件 | 
| /FU | 强制使用文件名,就像它已被传递到 #using 指令一样 | 
| /Fx | 将插入的代码与源文件合并 | 
| /G3 | 优化代码以优选 386 处理器。在 Visual C++ 5.0 中已经停用,编译器将忽略此选项 | 
| /G4 | 优化代码以优选 486 处理器。在 Visual C++ 5.0 中已经停用,编译器将忽略此选项 | 
| /G5 | 优化代码以优选 Pentium 处理器 | 
| /G6 | 优化代码以优选 Pentium Pro、Pentium II 和 Pentium III 处理器 | 
| /G7 | 针对 Pentium 4 或 Athlon 优化代码。 | 
| /GA | 优化 Windows 应用程序的代码 | 
| /GB | 与 /G6 等效;将 _M_IX86 的值设置为 600 | 
| /Gd | 使用 __cdecl | 
| /Ge | 激活堆栈探测 | 
| /GF/Gf | 启用字符串池 | 
| /GH | 调用挂钩函数 _pexit | 
| /Gh | 调用挂钩函数 _penter | 
| /GL | 启用全程序优化 | 
| /Gm | 启用最小重新生成 | 
| /GR | 启用运行时类型信息 (RTTI) | 
| /Gr | 使用 __fastcall | 
| /GS | 缓冲区安全检查 | 
| /Gs | 控制堆栈探测 | 
| /GT | 支持使用静态线程本地存储区分配的数据的纤程安全 | 
| /GX | 启用同步异常处理 | 
| /Gy | 启用函数级链接 | 
| /GZ | 与 /RTC1 相同 | 
| /Gz | 使用 __stdcall | 
| /H | 限制外部(公共)名称的长度 | 
| /HELP | 列出编译器选项 | 
| /I | 在目录中搜索包含文件 | 
| /J | 更改默认的 char | 
| /LD | 创建动态链接库 | 
| /LDd | 创建调试动态链接库 | 
| /link | 将指定的选项传递给 LINK | 
| /MD | 使用 MSVCRT.lib 创建多线程 DLL | 
| /MDd | 使用 MSVCRTD.lib 创建调试多线程 DLL | 
| /ML | 使用 LIBC.lib 创建单线程可执行文件 | 
| /MLd | 使用 LIBCD.lib 创建调试单线程可执行文件 | 
| /MT | 使用 LIBCMT.lib 创建多线程可执行文件 | 
| /MTd | 使用 LIBCMTD.lib 创建调试多线程可执行文件 | 
| /nologo | 取消显示登录版权标志 | 
| /O1 | 创建小代码 | 
| /O2 | 创建快速代码 | 
| /Oa | 假设没有别名 | 
| /Ob | 控制内联展开 | 
| /Od | 禁用优化 | 
| /Og | 使用全局优化 | 
| /Oi | 生成内部函数 | 
| /Op | 改善浮点数一致性 | 
| /Os | 代码大小优先 | 
| /Ot | 代码速度优先 | 
| /Ow | 假定在函数调用中使用别名 | 
| /Ox | 使用最大优化 (/Ob2gity /Gs) | 
| /Oy | 省略框架指针 | 
| /QI0f | 执行 Pentium 0x0f 错误修复 | 
| /QIfdiv | 执行 Pentium FDIV 错误修复 | 
| /QIfist | 当需要从浮点类型转换为整型时取消 _ftol | 
| /P | 将预处理器输出写入文件 | 
| /RTC | 启用运行时错误检查 | 
| /showIncludes | 在编译期间显示包含文件的列表 | 
| /Tc/TC | 指定 C 源文件 | 
| /Tp/TP | 指定 C++ 源文件 | 
| /U | 移除预定义宏 | 
| /u | 移除所有的预定义宏 | 
| /V | 设置版本字符串 | 
| /vd | 取消或启用隐藏的 vtordisp 类成员 | 
| /vmb | 对指向成员的指针使用最佳的基 | 
| /vmg | 对指向成员的指针使用完全一般性 | 
| /vmm | 声明多重继承 | 
| /vms | 声明单一继承 | 
| /vmv | 声明虚拟继承 | 
| /W | 设置警告等级 | 
| /w | 禁用所有警告 | 
| /Wall | 启用所有警告,包括默认情况下禁用的警告 | 
| /WL | 在从命令行编译 C++ 源代码时启用错误信息和警告消息的单行诊断 | 
| /Wp64 | 检测 64 位可移植性问题 | 
| /X | 忽略标准包含目录 | 
| /Y- | 忽略当前生成中的所有其他预编译头编译器选项 | 
| /Yc | 创建预编译头文件 | 
| /Yd | 将完整的调试信息放在所有对象文件中 | 
| /Yl | 创建调试库时插入 PCH 引用 | 
| /Yu | 在生成期间使用预编译头文件 | 
| /YX | 自动处理预编译头 | 
| /Z7 | 生成与 C 7.0 兼容的调试信息 | 
| /Za | 禁用语言扩展 | 
| /Zc | 在 /Ze 下指定标准行为 | 
| /Zd | 生成行号 | 
| /Ze | 启用语言扩展 | 
| /Zg | 生成函数原型 | 
| /ZI | 将调试信息包含在与“编辑并继续”兼容的程序数据库中 | 
| /Zi | 生成完整的调试信息 | 
| /Zl | 从 .obj 文件中移除默认库名 | 
| /Zm | 指定预编译头内存分配限制 | 
| /Zp | 封装结构成员 | 
| /Zs | 只检查语法 | 
 
 
                     
            
        













 
                    

 
                 
                    