Visual c++ 对于MSVC项目中的版本配置,您建议使用哪些标志
我正在查看MSVC项目的标志,但我无法获得有关以下功能的足够文档:Visual c++ 对于MSVC项目中的版本配置,您建议使用哪些标志,visual-c++,flags,visual-studio,Visual C++,Flags,Visual Studio,我正在查看MSVC项目的标志,但我无法获得有关以下功能的足够文档: 使用链接时间代码生成(/ltcg) 启用功能级链接(/Gy) 消除未引用的数据(/OPT:REF) 删除冗余COMDAT(/OPT:ICF) 针对windows98进行优化否(/OPT:NOWIN98) 启用字符串池(/GF) 我们使用单独的调试/发布版本,所以我主要对发布的标志感兴趣。 欢迎解释这些标志及其相互关系,以及您在自己的项目中使用的标志 这在很大程度上取决于您希望从构建中获得什么,例如,您是否有前面讨论过的独立发
- 使用链接时间代码生成(/ltcg)
- 启用功能级链接(/Gy)
- 消除未引用的数据(/OPT:REF)
- 删除冗余COMDAT(/OPT:ICF)
- 针对windows98进行优化否(/OPT:NOWIN98)
- 启用字符串池(/GF)
欢迎解释这些标志及其相互关系,以及您在自己的项目中使用的标志 这在很大程度上取决于您希望从构建中获得什么,例如,您是否有前面讨论过的独立发布和调试构建。如果您有一个联合调试/发布版本,则需要函数级链接,以便在调试器中使用大多数开发人员都希望使用的“编辑并继续”
在其他方法中,它们主要减少可执行文件的大小。例如,如果您有两个相同的字符串文本char*a=“happy holidays”、*b=“happy holidays”,则当启用字符串池时,它们将驻留在同一块内存中。打开PDB是的,永远不知道何时需要它,特别是当前版本是否已更改,以及早期客户端版本是否引发故障。