パッケージ固有のコンパイラ指令
パッケージのコンパイル への移動
ソース コード中で使用できるパッケージ固有のコンパイラ指令の一覧を以下の表に示します。
パッケージ固有のコンパイラ指令:
C++ 指令 | 用途 |
---|---|
#pragma package(smart_init) |
パッケージ ユニットが、依存関係によって決まる順序で初期化されるようになります (デフォルトでパッケージ ソース ファイルに含められます)。 |
#pragma package(smart_init, weak) |
ユニットを "弱く" パッケージ化します。「この指令をユニット ソース ファイルに追加する」を参照。 |
Delphi 指令 | 用途 |
---|---|
{$IMPLICITBUILD OFF} |
パッケージが後で暗黙に再コンパイルされないようにします。 低レベルの機能を提供するパッケージや、ビルド間でほとんど変更されないパッケージ、ソース コードが配布されないパッケージをコンパイルする場合に、.dpk ファイルでこの指令を指定します。 |
{$G} or {$IMPORTEDDATA OFF} |
インポートされたデータの参照が作成されないようにします。この指令を使用すると、メモリアクセス効率は向上しますが、ユニットでは他のパッケージ内の変数を参照できなくなります。 |
{$WEAKPACKAGEUNIT ON} |
ユニットを "弱く" パッケージ化します。詳細は、「WEAKPACKAGEUNIT(弱いパッケージ)」を参照。 |
{$DENYPACKAGEUNIT ON} |
ユニットがパッケージに格納されないようにします。 |
{$DESIGNONLY ON} |
パッケージを IDE へのインストール用にコンパイルします (.dpk ファイルに格納します)。 |
{$RUNONLY ON} |
パッケージを実行時専用としてコンパイルします (.dpk ファイルに格納します)。 |
メモ:
- ソース コードに {$DENYPACKAGEUNIT ON} を挿入すると、ユニット ファイルはパッケージ化されなくなります。
- {$G-} または {$IMPORTEDDATA OFF} を挿入すると、パッケージが同じアプリケーションで他のパッケージと一緒に使用されるのを防ぐことができます。
- {$DESIGNONLY ON} 指令を付けてコンパイルしたパッケージは、アプリケーション内で通常どおりに使用しないでください。IDE で必要な余分なコードが含まれているためです。
- パッケージ ソース コードには、適宜、他のコンパイラ指令も含めることができます。ここで説明していないコンパイラ指令については、「コンパイラ指令」を参照してください。
すべてのライブラリで使用可能なその他の指令については、「パッケージと DLL の作成」を参照してください。