条件付きコンパイル変数
更新 : 2007 年 11 月
条件付きコンパイルで使用可能な定義済み変数を次に示します。
変数
変数 |
説明 |
---|---|
@_win32 |
Win32 システム上で実行されており、/platform オプションが指定されていないか、/platform:anycpu オプションが指定されている場合は true です。それ以外の場合は NaN です。 |
@_win16 |
Win16 システム上で実行されている場合は true です。それ以外の場合は NaN です。 |
@_mac |
Apple Macintosh システム上で実行されている場合は true です。それ以外の場合は NaN です。 |
@_alpha |
DEC Alpha プロセッサ上で実行されている場合は true です。それ以外の場合は NaN です。 |
@_x86 |
Intel プロセッサ上で実行されており、/platform オプションが指定されていないか、/platform:anycpu オプションが指定されている場合は true です。それ以外の場合は NaN です。 |
@_mc680x0 |
Motorola 680x0 プロセッサ上で実行されている場合は true です。それ以外の場合は NaN です。 |
@_PowerPC |
Motorola PowerPC プロセッサ上で実行されている場合は true です。それ以外の場合は NaN です。 |
@_jscript |
常に true です。 |
@_jscript_build |
JScript スクリプト エンジンのビルド番号です。 |
@_jscript_version |
"メジャー番号.マイナ番号" の形式の JScript のバージョン番号です。 |
@_debug |
デバッグ モードでコンパイルされている場合は true です。それ以外の場合は false です。 |
@_fast |
高速モードでコンパイルされている場合は true です。それ以外の場合は false です。 |
メモ : |
---|
JScript .NET で報告されるバージョン番号は 7.x です。JScript 8.0 で報告されるバージョン番号は 8.x です。 |
条件付きコンパイル変数を使用するには、あらかじめ条件付きコンパイルを有効にする必要があります。@cc_on ステートメントは条件付きコンパイルを有効にできます。条件付きコンパイル変数は、Web ブラウザ用に作成されたスクリプトでよく使用されます。ASP ページまたは ASP.NET ページ用に作成されたスクリプトや、コマンド ライン プログラム用に作成されたスクリプトでは、コンパイラの機能が他の方法を使用して決定されるため、条件付きコンパイル変数を使用することは一般的ではありません。
Web ページ用のスクリプトを作成する場合、条件付きコンパイル コードは常にコメント内に記述します。これにより、条件付きコンパイルをサポートしないホストでは、これらのコードが無視されます。次に例を示します。
/*@cc_on
document.write("JScript version: " + @_jscript_version + ".<BR>");
@if (@_win32)
document.write("Running on 32-bit Windows.<BR>");
@elif (@_win16)
document.write("Running on 16-bit Windows.<BR>");
@else
document.write("Running on a different platform.<BR>");
@end
@*/
条件付きコンパイル変数を使用して、スクリプトを解釈するエンジンのバージョン情報を判断できます。これにより、下位互換性を維持する一方で、最新のバージョンの JScript で利用できる機能も使用できます。詳細については、「ブラウザの機能の検出」を参照してください。