VS 编译选项如何设置以及对性能的影响1


Disable

不产生调试信息,编译会更快

/Z7

生成包含完整符号调试信息的.obj文件,以用于调试器调试。生成的符号调试信息包括变量、函数的名称和类型、行号。不生成pdb文件。对于第三方库的发布者来说,没有.pdb文件有一个优势。但是,在链接和调试阶段,预编译的头需要.obj文件。如果。pch对象文件中只有类型信息(而没有代码),则还必须使用/Yl(为调试库输入pch参考)进行编译。

注:.pch文件是预编译头文件

/Zi

as well as 属于从属连词,它前面的主体(X)重要性要大于(Y)。

生成一个包含类型信息和符号调试信息的程序数据库(PDB),以供与调试器一起使用。符号调试信息包括变量的名称和类型,以及函数和行号。

/Zi不影响优化。但是,/Zi确实暗示/debug;有关更多信息,请参阅/调试(生成调试信息)。

类型信息放在.pdb文件中,而不是放在.obj文件中。

您可以对/Zi使用/Gm(启用最小重建),而在使用/Z7编译时/Gm不可用。

使用/Zi和/clr编译时,不会将调试属性属性放在汇编medata中;如果需要,必须在源代码中指定它。此属性可能会影响应用程序的运行时性能。有关可调试属性如何影响性能以及如何修改性能影响的详细信息,请参阅使图像更易于调试。

/ZI

如果要使用“编辑和继续调试,则必须使用此选项。因为大多数优化与“编辑和继续”不兼容,所以使用/ZI禁用任何#pragma
optimize申明再代码中。

/ZI会导致在编译中使用/Gy(启用功能级链接)和/FC(诊断中的源代码文件的完整路径)。

/ZI与/clr(通用语言运行时编译)不兼容。

/ZI仅在针对x86和x64处理器的编译器中使用;此编译器选项在针对ARM处理器的编译器中不可用。

编译器将程序数据库命名为project.pdb。如果编译文件而不编译项目,则编译器将创建一个名为VCx0.pdb的数据库。其中x是正在使用的VisualC的主要版本。编译器将PDB的名称嵌入到使用此选项创建的每个.obj文件中,并将调试器指向符号信息和行号信息的位置。当您使用此选项时,.obj文件将会较小,因为调试信息存储在.pdb文件中,而不是存储在.obj文件中。

如果从使用此选项编译的对象创建库,则当库链接到程序时,关联的.pdb文件必须可用。因此,如果您分发该库,则必须发布PDB。

要创建一个不使用.pdb文件的库,必须选择编译器的C7.0兼容(/Z7)选项。如果使用预编译头选项,则预编译头和其他源代码的调试信息都将放在PDB中。当指定了“程序数据库”选项时,/Yd选项将被忽略。

VS 编译选项如何设置以及对性能的影响1相关推荐

  1. Sort_Buffer_Size 设置对服务器性能的影响

    基础知识: 1. Sort_Buffer_Size 是一个connection级参数,在每个connection第一次需要使用这个buffer的时候,一次性分配设置的内存. 2. Sort_Buffe ...

  2. PermSize 设置过小对性能的影响(OutOfMemoryError:PermGen spac)

    [现象]:应用更新新版本后,其中一台机出现了较多的重启现象. [原因分析]: 分析应用日志,发现有OutOfMemoryError:PermGen space,此报错说明 PermSize 设置过小, ...

  3. angular select设置默认选中_技术分享 | Charset 和 Collat??ion 设置对 MySQL 性能的影响...

    原创: 管长龙 译 作者:Vadim Tkachenko 通过测试,比较 MySQL 5.7.25 和 MySQL 8.0.15 之间字符集和校验规则的设置所带来的性能差异.测试环境 系统 | Ubu ...

  4. 压测接口线程数设置_ZAT掌门性能压测巡检系统实战和落地

    项目背景 随着业务拓展,对于接口性能的要求也在上升,各部门也开始针对部分慢接口进行优化,从测试角度针对这些优化需求进行测试时不仅要保证对应接口的功能正常使用同时也要验证接口优化成果.在日常的开发工作中 ...

  5. bios调整服务器性能模式吗,优化BIOS设置提高显示性能

    优化BIOS设置提高显示性能 互联网   发布时间:2009-04-21 00:57:14   作者:佚名   我要评论 显示性能是集成主板发挥性能最主要的瓶径,尤其是在运行3D游戏等考验显卡性能的程 ...

  6. 【Java 网络编程】服务器端 ServerSocket 配置 ( 端口复用 | 缓冲区设置 | 超时时间 | 性能权重 | 端口绑定 )

    文章目录 I ServerSocket 端口号绑定参数 II ServerSocket 复用绑定端口设置 III ServerSocket 设置缓冲区大小 IV ServerSocket 设置超时时间 ...

  7. resultset需要关闭吗_旧电脑福音!关闭Windows这些没用的设置,电脑性能至少提升50%!...

    Win10系统一直在更新的路上,但是每一次更新,感觉不是在修复旧Bug,就是在添加新Bug 的路上. 而其他的系统设置也不知道好好整改一下,让我们可以根据自己的喜好,来高效优化Windows系统的使用 ...

  8. Win11怎么设置让CPU性能全开?Win11CPU怎么设置高性能模式?

    ​Win11怎么设置让CPU性能全开?CPU性能主要取决于其主频和工作效率,如果将CPU性能调到最佳,那么你将会有全新的电脑操作体验与更好的游戏体验.这里为大家带来Win11CPU设置高性能模式和一键 ...

  9. 联想台式计算机功率,【联想 扬天T4900C 台式机使用总结】设置|系统|功耗|性能_摘要频道_什么值得买...

    联想 扬天T4900C 台式机使用总结(设置|系统|功耗|性能) 第一次开机不快,要等待系统配置 WIN7家庭版,下面有联想的LOGO 一翻设置后,终于进入系统 先用鲁大师来检测一下 直接能识别出联想 ...

  10. 存储方式与介质对性能的影响

    摘要 数据的存储方式对应用程序的整体性能有着极大的影响.对数据的存取,是顺利读写还是随机读写?将数据放磁盘上还将数据放flash卡上?多线程读写对性能影响?面对着多种数据存储方式,我们如何选择?本文给 ...

最新文章

  1. 程序员请收好:10个非常实用的 VS Code 插件
  2. 英特尔用英伟达显卡,给GTA5打了个超强画质补丁
  3. STM32使用串口IDLE中断的两种接收不定长数据的方式
  4. Python:如何仅用递归函数和栈操作逆序一个栈
  5. Docker(4)-容器互联与端口映射
  6. mysql的int多少溢出_mysql 整型(int)数字溢出在程序和数据库设计中的考虑
  7. 【java】switch的用法介绍
  8. Python—常用正则表达式方法
  9. PureLayout,使用纯代码写AutoLayout
  10. 2017年初BAT的JAVA面试题汇集
  11. 勉强算是面经——1.诺瓦科技
  12. Multiple Hypothesis Tracking Revisited
  13. 想做赴日软件工程师,为公为私
  14. 论文阅读:机器学习模型可解释性方法、应用与安全研究综述
  15. Linux系统资源查看
  16. 【云原生】Hadoop HA on k8s 环境部署
  17. linux查看磁盘空间大小
  18. 生活无大事,生活无小事,需用心经营才行
  19. C语言程序设计NULL答案,C语言程序设计题
  20. 360高性能KV存储平台Zeppelin

热门文章

  1. java.lang.integer_java 中 关于java.lang.ArrayStoreException: java.lang.Integer异常,是什么原因?...
  2. 鸿蒙系统适配机型_华为官宣鸿蒙系统,麒麟960等五十多款旗舰机型可以直接升级...
  3. php mysql随机抽奖源码_PHP随机按百分比抽奖
  4. Java进阶:Spring
  5. 爬虫:使用Chrome谷歌浏览器自动获取xpath爬取内容为空
  6. LMM(LightMoonMovie)亮月湾电影分享管理系统;
  7. 图像处理_形态学运算中的膨胀与腐蚀直观理解
  8. 线性表_使用栈实现二进制转换到八进制/十进制/十六进制
  9. ML/DL-复习笔记【十】- 分组卷积和深度可分离卷积的区别
  10. Hadoop2.2.0 + HBase0.96 伪分布式安装