下图中的选项对最终二进制文件有什么影响?
我首先编译了我的应用程序,启用它们,编译后的二进制文件大小为7,606,272字节。然后我手动关掉它们......尺寸没变。我还使用这些编译器开关(包含在每个使用.inc文件的文件中)来做同样的事情:
{$D-} // Remove "Debug information"
{$L-} // Remove "Local symbols"
{$Y-} // Remove "Reference info/Definitions only"
{$C-} // Remove "Assertions"
相同的文件大小。帮助确实说调试信息进入DCU(对象)文件,我已经确认这是正确的(它们在选项关闭时会变小)。编译和链接时间如此之快,但很难判断时间是否存在差异。
切换这些选项会对最终二进制文件产生任何影响(例如,性能增强)吗?在任何情况下,它似乎都不会影响二进制文件的大小。
答案 0 :(得分:3)
前三个选项对二进制文件没有影响。它们仅影响是否在dcu文件中生成调试信息。
断言选项确定是否包含Assert
语句。这会影响可执行文件。
调试DCU确定RTL / VCL dcu文件是否包含调试信息。此外,这些dcu文件的调试版本未经优化构建,以便更好地进行调试。这样也会影响可执行文件中的代码。