IBM XL C/C ++コンパイラ:Preprocessorディレクティブを使用してコンパイラモードを確認します

StackOverflow https://stackoverflow.com/questions/4536896

  •  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__ プリプロセッサマクロが定義されています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top