前処理ディレクティブと同じ働きをするオプション

前処理ディレクティブと同じ働きをするものとして、-A-D、および -U オプションを使用することができます:

-A オプション

アサーションを作成するには、-A オプションを使用します。構文: -Aname[(value)]

引数 説明
name アサーションの識別子 (名前) を指定します。
value アサーションの値 (value) を指定します。 value を指定する場合は、それを区切る括弧とともに引用符で囲む必要があります。

例えば、識別子が fruit で関連する値が orangebanana のアサーションを作成するには、次のコマンドを使用します:

prompt>icpc -A"fruit(orange,banana)" prog1.cpp

-D オプション

マクロを定義するには、-D オプションを使用します。構文: -Dname[=value]

引数 説明
name 定義するマクロの名前です。
value 名前として入力する値です。value を入力しなかった場合、name は 1 に設定されます。英数字以外を含む値は引用符で囲んでください。

例えば、SIZE という名前で値が 100 のマクロを定義するには、次のコマンドを使用します:

prompt>icpc -DSIZE=100 prog1.cpp

-D オプションは関数の定義にも使用することができます。
例:

prompt>icpc -D"f(x)=x" prog1.cpp

-U オプション

事前定義済みマクロを削除するには、-U オプションを使用します。構文: -Uname

引数 説明
name 定義を削除するマクロの名前です。
 

同じコンパイルで -D-U オプションを使用すると、コンパイラはコマンドラインで指定された順にオプションを処理するのではなく、-U オプションの前に -D オプションを処理します。