微软C/C++编译器选项参考
- 优化
/O1
最小化空间 minimize space/Op[-]
改善浮点数一致性 improve floating-pt consistency/O2
最大化速度 maximize speed/Os
优选代码空间 favor code space/Oa
假设没有别名 assume no aliasing/Ot
优选代码速度 favor code speed/Ob
内联展开(默认 n=0) inline expansion (default n=0)/Ow
假设交叉函数别名 assume cross-function aliasing/Od
禁用优化(默认值) disable optimizations (default)/Ox
最大化选项。(/Ogityb2 /Gs) maximum opts. (/Ogityb1 /Gs)/Og
启用全局优化 enable global optimization/Oy[-]
启用框架指针省略 enable frame pointer omission/Oi
启用内建函数 enable intrinsic functions
- 代码生成
/G3
为 80386 进行优化 optimize for 80386/G4
为 80486 进行优化 optimize for 80486/GR[-]
启用 C++ RTTI enable C++ RTTI/G5
为 Pentium 进行优化 optimize for Pentium/G6
为 Pentium Pro 进行优化 optimize for Pentium Pro/GX[-]
启用 C++ 异常处理(与 /EHsc 相同) enable C++ EH (same as /EHsc)/EHs
启用同步 C++ 异常处理 enable synchronous C++ EH/GD
为 Windows DLL 进行优化 optimize for Windows DLL/GB
为混合模型进行优化(默认) optimize for blended model (default)/EHa
启用异步 C++ 异常处理 enable asynchronous C++ EH/Gd
__cdecl
调用约定__cdecl
calling convention/EHc
extern "C"
默认为 nothrow extern “C” defaults to nothrow/Gr
__fastcall
调用约定__fastcall
calling convention/Gi[-]
启用增量编译 enable incremental compilation/Gz
__stdcall
调用约定__stdcall
calling convention/Gm[-]
启用最小重新生成 enable minimal rebuild/GA
为 Windows 应用程序进行优化 optimize for Windows Application/Gf
启用字符串池 enable string pooling/QIfdiv[-]
启用 Pentium FDIV 修复 enable Pentium FDIV fix/GF
启用只读字符串池 enable read-only string pooling/QI0f[-]
启用 Pentium 0x0f 修复 enable Pentium 0x0f fix/Gy
分隔链接器函数 separate functions for linker/GZ
启用运行时调试检查 enable runtime debug checks/Gh
启用钩子函数调用 enable hook function call/Ge
对所有函数强制堆栈检查 force stack checking for all funcs/Gs[num]
禁用堆栈检查调用 disable stack checking calls
- 输出文件
/Fa[file]
命名程序集列表文件 name assembly listing file/Fo
命名对象文件 name object file/FA[sc]
配置程序集列表 configure assembly listing/Fp
命名预编译头文件 name precompiled header file/Fd[file]
命名 .PDB 文件 name .PDB file/Fr[file]
命名源浏览器文件 name source browser file/Fe
命名可执行文件 name executable file/FR[file]
命名扩展 .SBR 文件 name extended .SBR file/Fm[file]
命名映射文件 name map file
- 预处理器
/FI
命名强制包含文件 name forced include file/C
不吸取注释 don’t strip comments/U
移除预定义宏 remove predefined macro/D{=|#}
定义宏 define macro/u
移除所有预定义宏 remove all predefined macros/E
将预处理定向到标准输出 preprocess to stdout/I
添加到包含文件的搜索路径 add to include search path/EP
将预处理定向到标准输出,不要带行号 preprocess to stdout, no #line/X
忽略”标准位置” ignore “standard places”/P
预处理到文件 preprocess to file
- 语言
/Zi
启用调试信息 enable debugging information/Zl
忽略 .OBJ 中的默认库名 omit default library name in .OBJ/ZI
启用调试信息的”编辑并继续”功能 enable Edit and Continue debug info/Zg
生成函数原型 generate function prototypes/Z7
启用旧式调试信息 enable old-style debug info/Zs
只进行语法检查 syntax check only/Zd
仅要行号调试信息 line number debugging info only/vd{0|1}
禁用/启用 vtordisp disable/enable vtordisp/Zp[n]
在 n 字节边界上包装结构 pack structs on n-byte boundary/vm
指向成员的指针类型 type of pointers to members/Za
禁用扩展(暗指 /Op) disable extensions (implies /Op)/noBool
禁用bool
关键字 disable “bool” keyword/Ze
启用扩展(默认) enable extensions (default)
- 杂项
/?, /help
打印此帮助消息 print this help message/c
只编译,不链接 compile only, no link/W
设置警告等级(默认 n=1) set warning level (default n=1)/H
最大化外部名称长度 max external name length/J
默认 char 类型是 unsigned default char type is unsigned/nologo
取消显示版权消息 suppress copyright message/WX
将警告视为错误 treat warnings as errors/Tc
将文件编译为 .c compile file as .c/Yc[file]
创建 .PCH 文件 create .PCH file/Tp
将文件编译为 .cpp compile file as .cpp/Yd
将调试信息放在每个 .OBJ 中 put debug info in every .OBJ/TC
将所有文件编译为 .c compile all files as .c/TP
将所有文件编译为 .cpp compile all files as .cpp/Yu[file]
使用 .PCH 文件 use .PCH file/V
设置版本字符串 set version string/YX[file]
自动的 .PCH 文件 automatic .PCH/w
禁用所有警告 disable all warnings/Zm
最大内存分配(默认为 %) max memory alloc (% of default)
- 链接
/MD
与 MSVCRT.LIB 链接 link with MSVCRT.LIB/MDd
与 MSVCRTD.LIB 调试库链接 link with MSVCRTD.LIB debug lib/ML
与 LIBC.LIB 链接 link with LIBC.LIB/MLd
与 LIBCD.LIB 调试库链接 link with LIBCD.LIB debug lib/MT
与 LIBCMT.LIB 链接 link with LIBCMT.LIB/MTd
与 LIBCMTD.LIB 调试库链接 link with LIBCMTD.LIB debug lib/LD
创建 .DLL Create .DLL/F
设置堆栈大小 set stack size/LDd
创建 .DLL 调试库 Create .DLL debug libary/link
链接器选项和库 linker options and libraries