【问题标题】:What is the meaning of {$C PRELOAD} directive?{$C PRELOAD} 指令的含义是什么?
【发布时间】:2011-12-14 01:33:46
【问题描述】:

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

{$C PRELOAD}

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

我在 Delphi 2009 中发现了这个

谢谢

【问题讨论】:

    标签: delphi directive compiler-directives


    【解决方案1】:

    $C 指令称为Code segment attribute,与关键字 MOVEABLE、FIXED、DEMANDLOAD、PRELOAD、DISCARDABLE、PERMANENT 结合使用可更改代码段的属性。

    {$C MOVEABLE DEMANDLOAD DISCARDABLE} // this is setting  Code Segment Attribute.
    

    如果您将$C 指令与+- 一起使用,则您正在使用启用或禁用断言代码的生成。

    示例:

    {$C+}    { Assertions - On }
    

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2014-12-21
        • 2018-10-16
        • 2010-09-25
        • 2014-09-12
        • 1970-01-01
        • 2019-07-13
        • 2011-02-17
        • 2013-03-25
        • 2020-01-04
        相关资源
        最近更新 更多