IBM XL C/C ++コンパイラ:Preprocessorディレクティブを使用してコンパイラモードを確認します
-
13-10-2019 - |
質問
サンプルC ++ファイルをコンパイルしようとしています test.cpp
AIXシステムでIBM XLCコンパイラを使用します。ファイルは、32ビットモードと64ビットモードの両方にコンパイルする必要があります。次のコマンドを使用して、両方のモードでそれらをコンパイルしています。
xlC test.cpp
(デフォルトのコンパイラモードは32ビットです)
xlC -q64 test.cpp
下 test.cpp
, 、 しなければならない printf("Using 32-bit compiler")
32ビットとコンパイルの場合 printf("Using 64-bit compiler")
64ビットのコンパイルの場合。
プリプロセッサ条件を使用してこれを達成するにはどうすればよいですか?コンパイラまたは違いを伝えるマシンアーキテクチャ用の事前定義されたマクロはありますか?
解決
XLCで、あなたが使用している場合 -q64
フラグ、マクロ __64BIT__
定義されています。
まっすぐから IBM XL C/C ++のドキュメント:
コンパイラが64ビットモードで呼び出された場合、
__64BIT__
プリプロセッサマクロが定義されています。
所属していません StackOverflow