微软c/c++ 编译器选项
-优化-
/o1
最小化空间
/op[-]
改善浮点数一致性
/o2
最大化速度
/os
优选代码空间
/oa
假设没有别名
/ot
优选代码速度
/ob<n>
内联展开(默认 n=0)
/ow
假设交叉函数别名
/od
禁用优化(默认值)
/ox
最大化选项。(/ogityb2 /gs)
/og
启用全局优化
/oy[-]
启用框架指针省略
/oi
启用内部函数
-代码生成-
/g3
为 80386 进行优化
/gh
启用 _pexit 函数调用
/g4
为 80486 进行优化
/gr[-]
启用 c++ rtti
/g5
为 pentium 进行优化
/gx[-]
启用 c++ eh(与 /ehsc 相同)
/g6
为 ppro、p-ii、p-iii 进行优化
/ehs
启用 c++ eh(无 seh 异常)
/gb
为混合模型进行优化(默认)
/eha
启用 c++ eh(w/ seh 异常)
/gd
__cdecl 调用约定
/ehc
外部“c”默认为 nothrow
/gr
__fastcall 调用约定
/gt
生成纤维安全 tls 访问
/gz
__stdcall 调用约定
/gm[-]
启用最小重新生成
/ga
为 windows 应用程序进行优化
/gl[-]
启用链接时代码生成
/gf
启用字符串池
/qifdiv[-]
启用 pentium fdiv 修复
/gf
启用只读字符串池
/qi0f[-]
启用 pentium 0x0f 修复
/gy
分隔链接器函数
/qifist[-]
使用 fist 而不是 ftol()
/gz
启用堆栈检查 (/rtcs)
/rtc1
启用快速检查 (/rtcsu)
/ge
对所有函数强制堆栈检查
/rtcc
转换为较小的类型检查
/gs[num]
控制堆栈检查调用
/rtcs
堆栈帧运行时检查
/gs
启用安全检查
/rtcu
未初始化的本地用法检查
/gh
启用 _penter 函数调用
/clr[:noassembly]
为公共语言运行时库编译noassembly - 不产生程序集
-输出文件-
/fa[file]
命名程序集列表文件
/fo<file>
命名对象文件
/fa[sc]
配置程序集列表
/fp<file>
命名预编译头文件
/fd[file]
命名 .pdb 文件
/fr[file]
命名源浏览器文件
/fe<file>
命名可执行文件
/fr[file]
命名扩展 .sbr 文件
/fm[file]
命名映射文件
-预处理器-
/ai<dir>
添加到程序集搜索路径
/fx
将插入的代码合并到文件
/fu<file>
强制使用程序集/模块
/fi<file>
命名强制包含文件
/c
不抽出注释
/u<name>
移除预定义宏
/d<name>{=|#}<text>
定义宏
/u
移除所有预定义宏
/e
预处理到 stdout
/i<dir>
添加到包含搜索路径
/ep
预处理到 stdout,没有 #line
/x
忽略“标准位置”
/p
预处理到文件
-语言-
/zi
启用调试信息
/zl
忽略 .obj 中的默认库名
/zi
启用“编辑并继续”调试信息
/zg
生成函数原型
/z7
启用旧式调试信息
/zs
只进行语法检查
/zd
仅有行号调试信息
/vd{0|1}
禁用/启用 vtordisp
/zp[n]
在 n 字节边界上包装结构