用于调试的Delphi编译器选项

时间:2015-07-24 14:45:18

标签: delphi delphi-7

下图中的选项对最终二进制文件有什么影响?

enter image description here

我首先编译了我的应用程序,启用它们,编译后的二进制文件大小为7,606,272字节。然后我手动关掉它们......尺寸没变。我还使用这些编译器开关(包含在每个使用.inc文件的文件中)来做同样的事情:

    {$D-}       // Remove "Debug information"
    {$L-}       // Remove "Local symbols"
    {$Y-}       // Remove "Reference info/Definitions only"
    {$C-}       // Remove "Assertions"

相同的文件大小。帮助确实说调试信息进入DCU(对象)文件,我已经确认这是正确的(它们在选项关闭时会变小)。编译和链接时间如此之快,但很难判断时间是否存在差异。

切换这些选项会对最终二进制文件产生任何影响(例如,性能增强)吗?在任何情况下,它似乎都不会影响二进制文件的大小。

1 个答案:

答案 0 :(得分:3)

前三个选项对二进制文件没有影响。它们仅影响是否在dcu文件中生成调试信息。

断言选项确定是否包含Assert语句。这会影响可执行文件。

调试DCU确定RTL / VCL dcu文件是否包含调试信息。此外,这些dcu文件的调试版本未经优化构建,以便更好地进行调试。这样也会影响可执行文件中的代码。