7

このディレクティブがControls.pas(および他のユニット)で宣言されているのを見つけました。それが何を意味するのかを知ってうれしく思います。

{$C PRELOAD}

私の知る限り、$ Cはアサーション制御を意味しますが、PRELOADキーワードとは何ですか?「プリロード時にアサートして」のようなものですか?

Delphi2009でこれを見つけました

ありがとうございました

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ディレクティブをで使用する場合 、+または-アサーションのコード生成の有効化または無効化を使用している場合。

例 :

{$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 に答える