在 Visual Studio 2010 中,我有一个 C/C++ 静态库项目。当我打开该选项时整个程序优化 in release模式下,我获得了超过 90 MB 的 .lib 文件!
当我关闭此选项时,大小会减少到 24 MB。
该库包含数百个使用 proto-buffer 生成的类。
我想知道为什么这个选项会增加大小?
什么情况下我们必须关闭它?
编辑:将 MO 更改为 MB 感谢 chrisaycock
整个程序优化意味着直到链接阶段才进行优化。
静态库的大小不是重点。在此模式下,静态库可能充满最终优化/链接阶段所需的额外信息。如果您没有进行整个程序优化,那么在构建静态库后该信息可能会被丢弃,但是当您这样做时,该信息必须保留到最后。
相反,请查看最终可执行文件的大小。 (可能还会增加,但应该不会增加这么大。)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)