1

test.cppAIXシステムでIBMxlCコンパイラーを使用してサンプルc++ファイルをコンパイルしようとしています。ファイルは、32ビットモードと64ビットモードの両方でコンパイルする必要があります。次のコマンドを使用して、両方のモードでコンパイルしています。

xlC test.cpp(デフォルトのコンパイラモードは32ビットです)

xlC -q64 test.cpp

の下test.cppで、printf("Using 32-bit compiler")32ビット用にコンパイルprintf("Using 64-bit compiler")する場合と64ビット用にコンパイルする場合はそうする必要があります。

プリプロセッサの条件を使用してこれを実現するにはどうすればよいですか?違いを示すコンパイラまたはマシンアーキテクチャ用の事前定義されたマクロはありますか?

4

1 に答える 1

2

XLCでは、-q64フラグを使用している場合、マクロ__64BIT__が定義されます。

IBM XL C / C ++の資料から直接:

コンパイラが64ビットモードで呼び出される場合、__64BIT__プリプロセッサマクロが定義されます。

于 2010-12-27T06:19:10.563 に答える