DLL大小(调试和发布)

时间:2009-02-11 01:26:58

标签: visual-c++ dll debugging release

我在其他讨论中已经读过,与Debug dll相比,Release dll的大小已经缩小。但是为什么我所做的dll的大小是另一种方式:Release dll比Debug dll大。它会引起问题吗?

4 个答案:

答案 0 :(得分:5)

它不会导致问题,可能是编译器在发布版本中“内联”了更多项目并创建了更大的代码。这一切都取决于代码本身。

无需担心。

编辑: 如果你真的担心并且不担心速度,你可以打开优化尺寸。或者关闭自动内联,看看你有什么不同。

编辑: 更多信息,您可以使用dumpbin /headers查看dll变大的位置

答案 1 :(得分:3)

您的Release DLL比Debug DLL大多少?

您的调试DLL似乎很小,因为您正在生成PDB符号文件(因此调试符号实际上不是 DLL文件中)。或者,如果您无意中将调试符号编译到Release DLL中。

答案 2 :(得分:1)

这可能是由循环展开等性能优化引起的 - 如果它显着不同,请检查您的Release链接器设置,以确保您没有静态编译任何内容。

答案 3 :(得分:0)

如果您的应用程序执行高性能任务,则可能会影响性能。如果标记选项生成包含Debug信息的代码,则发布版本甚至可以大于调试版本。但这也取决于您使用的编译器。