Delphi 用于调试的编译器选项

Delphi compiler options for Debugging

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

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

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

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

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

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

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

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