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