我发现在Controls.pas(以及其他单位)中声明了这个指令,我很高兴知道这是什么意思。
{$C PRELOAD}
据我所知,$ C表示断言控制,但PRELOAD关键字是什么?这是“在预加载时断言我”吗?
我在Delphi 2009中发现了这个
谢谢
答案 0 :(得分:7)
$C
指令称为Code segment attribute
,并与关键字MOVEABLE,FIXED,DEMANDLOAD,PRELOAD,DISCARDABLE,PERMANENT结合使用,可以更改代码段的属性。
{$C MOVEABLE DEMANDLOAD DISCARDABLE} // this is setting Code Segment Attribute.
如果您使用$C
指令与+
或-
您正在使用启用或禁用断言代码的生成。
示例:
{$C+} { Assertions - On }
答案 1 :(得分:7)
{$C+}
和{$C-}
用于断言。 {$C PRELOAD}
是16位编程的延迟,它在运行时立即将单元的代码段预加载到内存中,而不是等待首先访问段。当32位编程出现时,Delphi 2中没有必要这样做,所以我不知道为什么VCL源仍在使用它。