Visual Studioコンパイラ(2005〜2008)は、x86/x64ビット環境用に4つのマクロを定義しています。事前定義されたマクロを参照してください
- _M_X64x64プロセッサ用に定義されています。
- _M_IX86x86プロセッサ用に定義されています。詳細については、以下の_M_IX86テーブルの値を参照してください。これは、x64プロセッサでは定義されていません。
- _WIN32Win32およびWin64のアプリケーション用に定義されています。常に定義されます。
- _WIN64Win64のアプリケーション用に定義されています。
x32ビットマシンでは、_M_X64が設定されることはありません。64ビットマシンでは、32ビット環境でビルドしている場合、_M_X64は設定解除され、_M_IX86が定義されます。_WIN32は、32/64ビットビルドに関係なく常に定義されます。
すべてのx64プロセッサで、_M_X64に特別な意味はありますか?ターゲットがx64のときに_M_X64が未定義のシナリオはありますか?