微软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] |
VC编译选项
-优化-
/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 0×0f 修复 enable Pentium 0×0f 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]
分享到:
相关推荐
和在IDE中编译相比,命令行模式编译速度更快,并可以避免被IDE产生的一些附加信息所干扰。本文将介绍微软C/C++编译器命令行模式设定和用法。
从 7.2.42-p2 开始,在Intel(R) C/C++编译器的30天试用期内,用Intel(R) C/C++ 编译器编译 gvim; 安装方法 如果你已经安装了gvim for win32,则将压缩包里的gvim.exe(支持OLE)和vim.exe(不含图形界面)复制到 ...
在微软的安全开发周期模型中,专门在安全编码实践中推荐:对于微软的最新C/C++编译器,使用GS选项编译选项,加入检测函数堆栈缓存溢出错误额外代码。那么,GS编译选项的内部原理是什么?它是如何检测函数的堆栈缓存...
Visual C++ 6.0 专业便携版 1.仅用于技术学习交流之用,禁止用于一切商业用途。 2.对于使用本人的软件所造成的一切损失及后果由使用者...1.集成 Intel C++ 10 编译器,这是能支持 VC6 的最后一个 Intel C++ 编译器。
从 7.2.69-p1 开始,已超出Intel(R) C/C++编译器的30天试用期; 安装方法 这是一个完整的gvim for win32 包,首先解压缩; 安装fonts目录里的字体; 运行vim\vim72\install.exe 向系统注册 gvim; 至此安装完毕...
四、Visual C++编译器和链接器 36 (一)auto主要字 36 (二)decltype操作符 36 (三)Lambda表达式 36 (四)Rvalue援用 37 (五)static_assert声明 37 (六)nullptr和__nullptr主要字 37 (七)/Zc:trigraphs编译器选项 37 ...
Windows平台下也有好多人都喜欢用SourceInsight编辑C/C++程序,如果将pclint集成到SourceInsight中,那就相当于给SourceInsight增加了一个C/C++编译器,而且它的检查更严格,能发现一些编译器发现不了的问题,可以...
PC-Lint是一个历史悠久、功能强大的C/C++静态代码检测工具,其使用历史可以追溯到计算机编程的远古时代(30多年前)。经过多年的发展,它不仅可以检查出一般的语法错误,还可以检查出那些虽然符合语法要求但不易发现...
Visual C++ 6.0 专业便携版 1.仅用于技术学习交流之用,禁止用于一切商业用途。 2.对于使用本人的软件所...1.集成 Intel C++ 10 编译器,这是能支持 VC6 的最后一个 Intel C++ 编译器。 by cntrump December 25, 2010
18.2 在 C #代码中调用 C++和 VB 编写的组件 .240 18.3 版 本 控 制 .249 18.4 代 码 优 化 .252 18.5 小 结 .254 第五部分 附 录 .255 附录 A 关 键 字.255 附录 B 错 误 码.256 附录 C .Net 名字空间...
附加选项,加入【/D "_CRT_SECURE_NO_DEPRECATE" 】(注:加入中括号中完整的内容),可修正如下提示错误使用VS2005以上版本(VS2005、VS2008、VS2010)编译在其他编译器下正常通过的C语言程序,你可能会遇到类似如下的...
PC-Lint是C/C++软件代码静态分析工具,你可以把它看作是一种更加严格的编译器。它不仅可以检查出一般的语法错误,还可以检查出那些虽然符合语法要求但不易发现的潜在错误。 …………………… 就是一个纠错工具 ...
1、MingW就是一个C/C++的编译器。 编译器和编辑器:编译器其实就是把源代码编译成目标代码的程序;Tc就是一个编辑器:能在里边敲代码,高亮显示,自动提示。 2、 C-Free里边可以运行、也可以调试。设置断点很简单...
若要编译此程序包含在 Microsoft Visual C++ 5.0,请执行以下步骤: 1.运行 Visual C++ 和创建一个新的 Win32 控制台应用程序调用"BigPost"。 2.在目录中创建项目的位置,运行 Hsrex.exe。 3.将 BigPost.cpp 添加到...
通过运行安装脚本,在VC++集成开发环境中从“文件|新建|工程”菜单新建项目时,在应用程序向导列表中将会出现ATL或WTL选项。AppWiz\setup.js文件是支持所有版本的Visual Studio的安装脚本。另外,WTL为支持Windows ...
设置了TIXML_USE_STL,TinyXML就能支持C++流(operator ,>>)和C(FILE*)流。但它们之间有些差异你需要知道: C风格输出: 基于FILE* 用Print()和SaveFile()方法 生成具有很多空格的格式化过的输出,这是为了...