7

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

{$C PRELOAD}

据我所知 $C 表示断言控制,但 PRELOAD 关键字是什么?是否类似于“在预加载时断言我”?

我在 Delphi 2009 中发现了这个

谢谢

4

2 回答 2

7

$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 }
于 2011-12-14T01:58:08.363 回答
7

{$C+}并且{$C-}用于断言。 {$C PRELOAD}是 16 位编程的遗留物,它在运行时立即将单元的代码段预加载到内存中,而不是等待首先访问该段。当 32 位编程出现时,这在 Delphi 2 中变得不必要了,所以我不知道为什么 VCL 源仍在使用它。

于 2011-12-14T01:59:07.597 回答