Visual C++ 编译器选项
Visual C++ 编译器选项
选项 作用
/O1 创建小代码
/O2 创建快速代码
/Oa 假设没有别名
/Ob 控制内联展开
/Od 禁用优化
/Og 使用全局优化
/Oi 生成内部函数
/Op 改善浮点数一致性
/Os 代码大小优先
/Ot 代码速度优先
/Ow 假定在函数调用中使用别名
/Ox 使用最大优化 (/Ob1gity /Gs)
/Oy 省略框架指针
代码生成
选项 作用
/clr 启用 C++ 的托管扩展并产生在公共语言运行库上运行的输出文件
/EH 指定异常处理模型
/G3 优化代码以优选 386 处理器。在 Visual C++ 5.0 中已经停用,编译器将忽略此选项
/G4 优化代码以优选 486 处理器。在 Visual C++ 5.0 中已经停用,编译器将忽略此选项
/G5 优化代码以优选 Pentium
/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 将调试信息包含在与“编辑并继续”兼容的程序数据库中
语言
选项 作用
/noBool 取消 C++ bool、true 和 false 关键字
/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 编译以创建调试多线程可执行文件
预编译头
选项 作用
/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 设置编译器的内存分配限制
Visual C++ 编译器选项相关推荐
- msdn关于Visual C++ 编译器选项的说明
msdn关于Visual C++ 编译器选项的说明: 这些选项选择单线程或多线程运行时例程,指示多线程模块是否为 DLL,并选择运行时库的发布版本或调试版本. 选项 说明 /MD 定义 _MT 和 _ ...
- Visual C++ 编译器选项 /MD、/ML、/MT、/LD
前段时间编译一个引用自己写的静态库的程序时老是出现链接时的多个重定义的错误,而自己的代码明明没有重定义这些东西,譬如: LIBCMT.lib(_file.obj) : error LNK2005: _ ...
- (csc)Visual C# 2010 编译器选项.
Visual C# 2010 编译器选项 - 输出文件 - /out:<文件> 指定输出文件名(默认值: ...
- [转]编译器选项(摘自MSDN)及VC项目配置基础
VC 项目配置基础 (请点击打开) 按类别列出的编译器选项Visual Studio 2010 其他版本 Visual Studio 2008 Visual Studio 2005 下面是一个完整的编 ...
- VS2005编译器选项
下面是一个完整的编译器选项分类列表.有关按字母顺序排序的列表,请参见按字母顺序列出的编译器选项. 优化 /O1 创建小代码 /O2 创建快速代码 /Ob 控制内联展开 /Od 禁用优化 /Og 使用全 ...
- VS2005 编译器选项
vs2005编译器选项 2011-02-09 22:15:31| 分类: Windows | 标签:vs2005 编译选项 |字号 订阅 下面是一个完整的编译器选项分类列表. 优化 /O1 ...
- MSVC C/C++编译器选项 cl命令参数
C/C++ 编译器选项 -优化- /O1 最大优化(优选空间) /O2 最大优化(优选速度) /Ob<n> 内联扩展(默认 n=0) /Od 禁用优化(默认) /Og 启用全局优化 /Oi ...
- VS2022的C/C++ 编译器选项
使用命令行,进入VS2022开发者命令行窗口 cd D:\Programs\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build D: v ...
- 【转】VC编译器选项
原文地址:http://blog.sina.com.cn/s/blog_3ea190670100cis0.html C/C++ 编译器选项 ...
最新文章
- Linux教程 网络管理命令Netstat的使用
- 教你如何将自己的脚本代码放到服务器上运行
- 转贴:Hyper-V的几款免费管理工具
- 前端学习(1483):在vue发送网络请求
- php7慢,php-finfo在7.3和7.2上明显慢
- 15个问题自查你真的了解java编译优化吗?
- JDBC操作(基础篇)
- 修改hostname不重启机器并生效
- 人脸对齐(七)--JDA算法
- xshell5下载和安装教程
- cefsharp修改html,C#使用 CefSharp采集网页源代码
- 小说阅读,原生小说APP源码出售,可二次开发 四端互通:android端,ios端,h5端,公众号端
- 【NoteBook】莫瑞亚(Ash Maurya):精益创业实战(一、二部分)
- 一线大公司面试必备技能
- AntD的Table表头title加Icon图标和气泡提示Tooltip
- bind dlz mysql rpm_BIND+DLZ+MYSQL | 学步园
- Java编程之三角形图案
- Metal 框架之 MTKView
- 前端实训-----摆弄形状、浮动,高度塌陷等
- 2021 年 JS 烧脑面试题大赏
热门文章
- python json模块有什么用_Python的json模块及使用
- html缩进快捷键_HTML 入门笔记
- android n进入分屏代码分析_智慧分屏为“何物”?华为MatePad Pro解锁便捷又高效的新姿势...
- autorelease什么时候释放_乌龟的天性是什么,饲养中要释放龟的天性吗?
- oracle12c racpdb,Oracle 12C R2的CDB与PDB简单管理操作
- c语言链表如何做成环,在C语言中单向链表环测试并返回环起始节点的实现方法...
- git 在拉取代码的时候connect 谷歌报错_工具 | 手把手教你在VSCode中使用Git
- 6、计算机图形学——着色频率、插值与插值的矫正
- MacOS系统下简单安装以及配置MongoDB数据库(一)
- 作业(二)—python实现wc命令