シンボルの宣言とクロスリファレンスの情報(Delphi)
Delphi コンパイラ指令のリスト:インデックス への移動
種類 |
スイッチ |
構文 |
{$Y+}、{$Y-}、または {$YD}。{$REFERENCEINFO ON}、{DEFINITIONINFO OFF} または {$REFERENCEINFO OFF}、あるいは {DEFINITIONINFO ON} |
デフォルト |
{$YD} {$DEFINITIONINFO ON} |
スコープ |
グローバル |
説明
$Y 指令は、プロジェクト マネージャ、コード エクスプローラ、およびコード エディタが使用するシンボル参照情報の生成を制御します。 この情報は、すべての宣言のソース コード行番号の情報、および({$Y+} の状態の場合)モジュールの識別子への参照の情報を提供する表から構成されています。 ユニットの場合、情報はユニットのオブジェクト コードとともに .dcu ファイルに記録されています。 シンボル参照情報があると、.dcu ファイルのサイズが増加しますが、実行可能プログラムのサイズや速度には影響しません。
デフォルトの {$YD}(または {DEFINITIONINFO ON})の状態でプログラムまたはユニットをコンパイルすると、コンパイラは各識別子が定義された場所についての情報を記録します。 変数、定数、クラスなどのほとんどの識別子に対して、コンパイラはその宣言の場所を記録します。 手続き、関数、およびメソッドに対しては、コンパイラは実装の場所を記録します。 これにより、コードの参照が可能になります。
{$Y+}(または {REFERENCEINFO ON})の状態でプログラムまたはユニットをコンパイルすると、コンパイラは各識別子が定義された場所についての情報の他に、各識別子が使用される場所についての情報を記録します。 これにより、コード参照機能の [参照] ページが使用可能になります。
{$Y-}(あるいは {DEFINITIONINFO OFF} または {REFERENCEINFO OFF})の状態でプログラムまたはユニットをコンパイルすると、シンボル参照情報は記録されません。 これにより、コードの参照、および、コード参照機能の [参照] ページが使用できなくなります。
通常、$Y スイッチは、デバッグ情報およびローカル シンボル情報の生成を制御する $D スイッチおよび $L スイッチとともに使用されます。 $D と $L の両方が有効でない場合、$Y 指令は無効になります。
メモ: 完全なクロスリファレンス情報({$Y+})を生成すると、コンパイル/リンクのサイクルが遅くなることがありますので、プロジェクト マネージャの [参照] ページが必要な場合以外は使用しないでください。