前処理ディレクティブと同じ働きをするものとして、-A、-D、および -U オプションを使用することができます:
アサーションを作成するには、-A オプションを使用します。構文: -Aname[(value)]
引数 | 説明 |
---|---|
name | アサーションの識別子 (名前) を指定します。 |
value | アサーションの値 (value) を指定します。 value を指定する場合は、それを区切る括弧とともに引用符で囲む必要があります。 |
例えば、識別子が fruit で関連する値が orange と banana のアサーションを作成するには、次のコマンドを使用します:
prompt>icpc -A"fruit(orange,banana)" prog1.cpp
マクロを定義するには、-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 オプションを使用します。構文: -Uname
引数 | 説明 |
---|---|
name | 定義を削除するマクロの名前です。 |
注
同じコンパイルで -D と -U オプションを使用すると、コンパイラはコマンドラインで指定された順にオプションを処理するのではなく、-U オプションの前に -D オプションを処理します。