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