{$ C PRELOAD}指令的含义是什么?

Mar*_*ner 7 delphi directive compiler-directives

我发现在Controls.pas(以及其他单位)中声明了这个指令,我很高兴知道这是什么意思.

{$C PRELOAD}
Run Code Online (Sandbox Code Playgroud)

据我所知,$ C表示断言控制,但PRELOAD关键字是什么?这是"在预加载时断言我"吗?

我在Delphi 2009中发现了这一点

谢谢

RRU*_*RUZ 7

$C指令被调用, Code segment attribute并与关键字MOVEABLE,FIXED,DEMANDLOAD,PRELOAD,DISCARDABLE,PERMANENT结合使用,可以改变代码段的属性.

{$C MOVEABLE DEMANDLOAD DISCARDABLE} // this is setting  Code Segment Attribute.
Run Code Online (Sandbox Code Playgroud)

如果您使用$C带有a 的 指令,+或者-您正在使用启用或禁用断言代码的生成.

例如:

{$C+}    { Assertions - On }
Run Code Online (Sandbox Code Playgroud)


Rem*_*eau 7

{$C+}并且{$C-}是为了断言. {$C PRELOAD}是16位编程的延迟,它在运行时立即将单元的代码段预加载到存储器中,而不是等待首先访问段.当32位编程出现时,Delphi 2中没有必要这样做,所以我不知道为什么VCL源仍在使用它.