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 文件的调试版本未经过优化,以便更好地进行调试。因此,这也会影响可执行文件中的代码。
下图中的选项对 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 文件的调试版本未经过优化,以便更好地进行调试。因此,这也会影响可执行文件中的代码。