来自msdn:http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/vccore/html/_core_compiler_options_listed_by_category.asp
优化
代码生成
/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 创建调试多线程可执行文件 |
输出文件
调试
预处理器
/AI
|
指定在解析传递到 #using 指令的文件引用时搜索的目录 |
/C
|
在预处理期间保留注释 |
/D
|
定义常数和宏 |
/E
|
将预处理器输出复制到标准输出 |
/EP
|
将预处理器输出复制到标准输出 |
/Fl
|
预处理指定的包含文件 |
/FU
|
强制使用文件名,就像它已被传递到 #using 指令一样 |
/I
|
在目录中搜索包含文件 |
/P
|
将预处理器输出写入文件 |
/U
|
移除预定义宏 |
/u
|
移除所有的预定义宏 |
/X
|
忽略标准包含目录 |
|
将调试信息包含在与“编辑并继续”兼容的程序数据库中 |
语言
链接
/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 编译以创建调试多线程可执行文件 |
预编译头
/Y-
|
忽略当前生成中的所有其他预编译头编译器选项 |
/Yc
|
创建预编译头文件 |
/Yd
|
将完整的调试信息放在所有对象文件中 |
/Yu
|
在生成期间使用预编译头文件 |
/YX
|
自动处理预编译头 |
杂项
@
|
指定响应文件 |
/?
|
列出编译器选项 |
/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++ 生成参考 | 编译器选项 | 设置编译器选项