调试信息{$ D +}增加了我的EXE大小6MB

时间:2011-06-07 15:02:17

标签: delphi delphi-xe

Delphi文档说明了这一点 “调试信息[...]它不会影响可执行程序的大小或速度。”

但是,当我激活Debug信息时(在Project Options - > Linker中),我的EXE从1.8MB变为7MB。 我做错了什么?


注意:我认为'链接'下的'调试信息'与'编译'下的'调试信息'相同,因为它们具有相同的编译器指令({$ D})。

2 个答案:

答案 0 :(得分:15)

您的假设不正确。使用调试信息进行编译意味着编译器生成带有调试信息的DCU。链接调试信息意味着链接器将调试信息从DCU放入最终二进制文件而不是将其剥离,所以当然这会使二进制文件更大。

没有调试信息的链接通常是正常的,因为调试器可以获取DCU中的调试信息,只要它可以找到它们。但是,如果您需要在某些DCU无法使用的情况下调试您的应用,您需要启用链接选项。

答案 1 :(得分:4)

添加调试信息不​​会影响代码大小(生成的代码与打开或关闭选项相同,其他选项控制代码生成),但会影响文件< / strong>尺寸。