条件付きプリコンパイルとは、特定の条件に基づいてコード・セクションをホスト・プログラムに組み込む(または除外する)プリコンパイルの方法です。たとえば、UNIXでプリコンパイルするときにはあるコード・セクションを組み込み、VMSでプリコンパイルするときには別のコード・セクションを組み込むことができます。条件付きプリコンパイルの使用により、様々な環境で実行できるプログラムを作成できます。
環境および処理を定義する文によってコードの条件文が区切られます。これらのセクションには、CまたはC++の文とEXEC SQL文を記述できます。次の文でプリコンパイルの条件を制御します。
EXEC ORACLE DEFINE symbol; -- define a symbol EXEC ORACLE IFDEF symbol; -- if symbol is defined EXEC ORACLE IFNDEF symbol; -- if symbol is not defined EXEC ORACLE ELSE; -- otherwise EXEC ORACLE ENDIF; -- end this control block
すべてのEXEC ORACLE文の終わりには、セミコロンを付ける必要があります。
シンボルを定義するには2通りの方法があります。1つの方法では、ホスト・プログラムに次の文を含めます。
EXEC ORACLE DEFINE symbol;
もう1つの方法では、次の構文を使用してコマンドラインで記号を定義します。
... DEFINE=symbol ...
symbol
には、大/小文字区別がありません。
注意:
#defineプリプロセッサ・ディレクティブは、EXEC ORACLE DEFINE文とは異なります。
Pro*C/C++をシステムにインストールするときに、ポート固有の記号がいくつか事前定義されます。たとえば、オペレーティング・システムの事前定義済記号には、CMS、MVS、MS-DOS、UNIXおよびVMSがあります。