最近我发现我的版本的可执行文件(用MSVC做出++速成2008)变得非常大。正如我检查与我看到只有第一300K字节包含有用数据的十六进制查看器可执行剩余字节只是零 - 为零字节6兆

建的exe调试具有1MB大小,但释放是6.5MB。

为什么MSVC ++表达这样做没用的东西?我怎样才能解决这个问题?

有帮助吗?

解决方案

你在你的程序中定义在文件范围大阵?这可能是原因之一。您可以使用DUMPBIN程序,看看有多少空间的exe文件的每个部分需要,应该给你一个线索的“为什么”。

其他提示

也许你静态链接您的.exe中释放,但在调试动态链接?检查这是对话框项目属性。

另一种可能性是,在释放模式中的很多功能都是内联或使用的是大量的模板。

您可以告诉编译器在对话框项目属性,以优化尺寸。

版本大6倍调试 - 这很可能是错误的。 尝试创建一个新的项目,只需复制你的源代码。编译它,看看你的调试和发布的可执行文件。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top