我正在审查我们的 MSVC 项目的标志,但我无法获得有关以下功能的足够文档:
- 使用链接时间码生成 (/ltcg)
- 启用功能级链接 (/Gy)
- 消除未引用的数据 (/OPT:REF)
- 删除冗余 COMDAT (/OPT:ICF)
- 优化 windows98 否 (/OPT:NOWIN98)
- 启用字符串池 (/GF)
我们确实使用单独的调试/发布版本,所以我主要对发布标志感兴趣。非常欢迎对这些标志以及它们如何相互关联以及您在自己的项目中使用的标志进行解释!
我正在审查我们的 MSVC 项目的标志,但我无法获得有关以下功能的足够文档:
我们确实使用单独的调试/发布版本,所以我主要对发布标志感兴趣。非常欢迎对这些标志以及它们如何相互关联以及您在自己的项目中使用的标志进行解释!
在很大程度上,这取决于您从构建中寻找什么,例如,您是否有单独的发布和调试构建,如此处所述。如果您有一个组合的调试/发布版本,您将需要函数级链接才能在调试器中使用编辑和继续,这是大多数开发人员想要的。
其中,它们主要是减小可执行文件的大小。例如,如果您有两个相同的字符串字面量 char *a = "happy holiday", *b = "happy holiday",当启用字符串池时,它们将驻留在同一块内存中。
开启 PDB