조건부 컴파일 변수
다음과 같은 미리 정의된 변수를 조건부 컴파일에 사용할 수 있습니다.
변수
변수 |
설명 |
---|---|
@_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 버전 번호를 나타내는 major.minor 형식의 숫자입니다. |
@_debug |
디버그 모드에서 컴파일되면 true이고 그렇지 않으면 false입니다. |
@_fast |
고속 모드에서 컴파일되면 true이고 그렇지 않으면 false입니다. |
참고
JScript .NET의 버전 번호는 7.x입니다. JScript 8.0의 버전 번호는 8.x입니다.
조건부 컴파일 변수를 사용하기 전에 조건부 컴파일을 활성화해야 합니다. @cc\_on 문을 사용하면 조건부 컴파일을 활성화할 수 있습니다. 조건부 컴파일 변수는 웹 브라우저용으로 작성된 스크립트에 많이 사용됩니다. ASP나 ASP.NET 페이지 또는 명령줄 프로그램을 위해 작성된 스크립트에서는 다른 메서드를 사용하여 컴파일 기능을 결정할 수 있기 때문에 조건부 컴파일 변수를 사용하는 경우는 많지 않습니다.
웹 페이지용 스크립트를 작성할 때는 조건부 컴파일 코드를 항상 주석에 포함시킵니다. 이렇게 하면 조건부 컴파일을 지원하지 않는 호스트인 경우 그 부분의 코드를 무시할 수 있습니다. 예를 들면 다음과 같습니다.
/*@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 버전의 기능을 이용할 수 있습니다. 자세한 내용은 브라우저 기능 감지를 참조하십시오.