미리 정의 된 매크로
목록에서 미리 정의 된 ANSI Microsoft C++ 및 C 구현 매크로.
컴파일러가 ANSI C의 미리 정의 된 매크로 인식 하 고 몇 가지 더 Microsoft C++ 구현을 제공 합니다.이러한 매크로 인수를 사용 하 고 다시 정의할 수 없습니다.아래에 나열 된 미리 정의 된 매크로 중 일부가 여러 값으로 정의 됩니다.자세한 내용은 다음 표를 참조 하십시오.
ANSI 규격 미리 정의 된 매크로
매크로 |
설명 |
---|---|
__DATE__ |
현재 소스 파일의 컴파일 날짜입니다.문자열인 날짜 리터럴 형식의 Mmm dd yyyy.월 이름 Mmm 라이브러리 함수에 의해 생성 된 날짜와 동일 asctime 시간에 선언 합니다.H. |
__FILE__ |
현재 소스 파일의 이름입니다.__FILE__큰따옴표로 묶인 문자열로 확장 합니다.사용할 파일의 전체 경로 표시 되도록 하려면 /FC(진단 소스 코드 파일의 전체 경로). |
__LINE__ |
현재 소스 파일의 줄 번호입니다.줄 번호를 10 진수 정수 상수입니다.변경할 수 있는 #line 지시문. |
__STDC__ |
전적으로 준수를 나타냅니다의 ANSI C 표준.정수 상수 1만 if로 정의 된 /Za 컴파일러 옵션을 지정 하 고 C++ 코드;를 컴파일하는 그렇지 않으면 정의 되지 않습니다. |
__TIME__ |
현재 소스 파일의 최신 컴파일 시간입니다.시간 문자열입니다 폼의 리터럴 h:mm: ss. |
__TIMESTAMP__ |
폼에 리터럴 문자열로 표현 된 현재 소스 파일의 마지막으로 수정한 시간과 날짜가 Ddd Mmm h:mm: ss yyyy여기서 Ddd 약식된 요일입니다 및 날짜 1에서 31 사이의 정수입니다. |
특정 Microsoft의 미리 정의 된 매크로
매크로 |
설명 |
---|---|
_ATL_VER |
ATL 버전을 정의합니다. Visual Studio 2010, _ATL_VER 0X1000 정의 됩니다. |
_CHAR_UNSIGNED |
기본 char 형식 서명 되었습니다.시 정의 /J 지정 된. |
__CLR_VER |
응용 프로그램을 컴파일할 때 사용 되는 공용 언어 런타임의 버전을 정의 합니다.반환 값은 다음과 같은 형식으로 됩니다. Mmmbbbbb 다음은 각 매개 변수에 대한 설명입니다.
|
__cplusplus_cli |
정의로 컴파일하여 /clr, /clr:pure, 또는 /clr:safe.200406 __Cplusplus_cli입니다.__cplusplus_cli는 번역 단위 동안 유효 합니다.
|
__COUNTER__ |
0부터 시작 하 고 또는 소스 파일의 헤더에 포함 된 소스 파일에서 사용 되는 때마다 1 씩 증가 시켜 정수를 확장 합니다.__COUNTER__미리 컴파일된 헤더를 사용할 때 상태를 기억 합니다. 다음 예제를 사용 하 여 __COUNTER__ 같은 종류의 세 가지 다른 개체에 고유 식별자를 할당 합니다. 먼저, 다음 클래스 정의 가정 합니다.생성자 매개 변수로 정수를 사용합니다.
Main에서 응용 프로그램의 세 가지 유형의 개체를 선언 exampleClass사용 하 여 __COUNTER__ 고유 식별자 매개 변수로.
|
__cplusplus |
C + + 프로그램을 정의 합니다. |
_CPPRTTI |
컴파일한 코드에 대해 정의 된 /GR (런타임 형식 정보 사용). |
_CPPUNWIND |
컴파일한 코드에 대해 정의 된 /GX (예외 처리 활성화). |
_DEBUG |
|
_DLL |
시 정의 /MD 또는 /MDd (다중 스레드 DLL) 지정 합니다. |
__FUNCDNAME__ |
함수에만 사용할 수 있습니다.정의 데코레이팅된 이름 바깥쪽 함수의 문자열입니다. __FUNCDNAME__사용 하는 경우 확장 된 /EP 또는 /P 컴파일러 옵션. 다음 예제는 __FUNCDNAME__, __FUNCSIG__, 및 __FUNCTION__ 매크로 함수 정보를 표시 합니다.
|
__FUNCSIG__ |
함수에만 사용할 수 있습니다.문자열로 바깥쪽 함수의 시그니처를 정의합니다. __FUNCSIG__사용 하는 경우 확장 된 /EP 또는 /P 컴파일러 옵션. 호출 규칙은 64 비트 운영 체제에는 __cdecl 기본적으로. 예제는 __FUNCDNAME__를 참조하십시오. |
__FUNCTION__ |
함수에만 사용할 수 있습니다.바깥쪽 함수 데코레이팅되지 않은 이름으로 문자열을 정의합니다. __FUNCTION__사용 하는 경우 확장 된 /EP 또는 /P 컴파일러 옵션. 예제는 __FUNCDNAME__를 참조하십시오. |
_INTEGRAL_MAX_BITS |
정수 계열 형식에 대 한 최대 크기 (비트) 단위로 보고합니다.
|
_M_ALPHA |
12 월에 대 한 정의 ALPHA 플랫폼 (더 이상 지원 되지 않습니다). |
_M_AMD64 |
X64 프로세서를 정의 합니다. |
_M_CEE |
양식을 사용 하는 컴파일에 정의 /clr (/clr:oldSyntax, /clr:safe예를 들어,). |
_M_CEE_PURE |
정의 사용 하는 컴파일에 /clr:pure. |
_M_CEE_SAFE |
정의 사용 하는 컴파일에 /clr:safe. |
_M_IX86 |
X86 프로세서에 대 한 정의입니다.참조는 값을 _M_IX86 에 대 한 자세한 내용은 표 아래의.이 x 64에 대 한 정의 되지 않은 프로세서. |
_M_IA64 |
에 정의 된 Itanium 프로세서 제품군의 64 비트 프로세서입니다. |
_M_ARM_FP |
나타내는 값을 확장 하 여 /arch 컴파일러 옵션을 사용 했습니다.
|
_M_IX86_FP |
나타내는 값을 확장 하 여 /arch 컴파일러 옵션을 사용 했습니다.
|
_M_MPPC |
전원 Macintosh 플랫폼 (더 이상 지원)를 정의 합니다. |
_M_MRX000 |
MIPS 플랫폼 (더 이상 지원)를 정의 합니다. |
_M_PPC |
(더 이상 지원) PowerPC 플랫폼을 정의 합니다. |
_M_X64 |
X64 프로세서를 정의 합니다. |
_MANAGED |
1 시에 정의 된 /clr 지정 된. |
_MFC_VER |
MFC 버전을 정의합니다.예를 들어, Visual Studio 2010, _MFC_VER 0x0a00로 정의 됩니다. |
_MSC_BUILD |
컴파일러의 버전 번호에 수정 번호 구성으로 평가합니다.수정 번호는 마침표로 구분 된 버전 번호의 네 번째 구성 요소입니다.예를 들어, Visual C++ 컴파일러의 버전 번호를 15.00.20706.01의 _MSC_BUILD 매크로 1로 계산 합니다. |
_MSC_EXTENSIONS |
컴파일하는 경우이 매크로 정의 /Ze 컴파일러 옵션 (기본값).정의 된 경우 해당 값은 1입니다. |
_MSC_FULL_VER |
주, 부, 평가 및 컴파일러의 버전 번호의 숫자 구성 요소를 작성 합니다.주 버전 번호가 마침표로 구분 된 버전 번호의 첫 번째 구성 요소, 부 수는 두 번째 구성 요소 이며 세 번째 구성 요소는 빌드 번호입니다.예를 들어, Visual C++ 컴파일러의 버전 번호를 15.00.20706.01의 _MSC_FULL_VER 매크로 150020706를 계산 합니다.형식 cl /? 컴파일러의 버전 번호를 보려면 명령줄에서. |
_MSC_VER |
주 버전과 부 버전 번호의 구성 요소 컴파일러의 버전 번호를 계산합니다.주 버전 번호가 마침표로 구분 된 버전 번호의 첫 번째 구성 요소 이며 부 수 두 번째 구성 요소입니다. 예를 들어, Visual C++ 컴파일러의 버전 번호를 15.00.20706.01의 _MSC_VER 매크로 평가 1500. Visual Studio 2010, _MSC_VER 1600으로 정의 됩니다. |
__MSVC_RUNTIME_CHECKS |
시 정의 중 하나는 /RTC 컴파일러 옵션을 지정 합니다. |
_MT |
정의 경우 /MD 또는 /MDd (다중 스레드 DLL) 또는 /MT 또는 /MTd (멀티스레드)를 지정 합니다. |
_NATIVE_WCHAR_T_DEFINED |
시 정의 /zc: wchar_t 사용 됩니다. |
_OPENMP |
/Openmp으로 컴파일하면 반환 하면 Visual C++에서 구현 되는 OpenMP 사양의 날짜를 나타내는 정수를 정의 합니다.
|
_VC_NODEFAULTLIB |
정의 경우 /Zl 사용 됩니다. 참조 /Zl(기본 라이브러리 이름 생략) 에 대 한 자세한 내용은. |
_WCHAR_T_DEFINED |
시 정의 /zc: wchar_t 사용 또는 wchar_t 프로젝트에 포함 하는 시스템 헤더 파일에 정의 된 경우. |
_WIN32 |
W i n 32와 Win64 응용 프로그램을 정의 합니다.항상 정의되어 있습니다. |
_WIN64 |
Win64 응용 프로그램을 정의 합니다. |
_Wp64 |
지정 하는 경우 정의 된 /w p 64. |
다음 표에서 같이 컴파일러 프로세서 옵션 지정 반영 하는 전처리기 식별자 값을 생성 합니다.
_M_IX86 값
개발 환경 옵션 |
명령줄 옵션 |
결과 값 |
---|---|---|
블렌드 |
/GB |
_M_IX86 = 600(기본입니다.미래의 컴파일러 주요 프로세서에 맞게 다른 값을 내보냅니다.) |
펜티엄 |
/ G5 |
_M_IX86 = 500 |
펜티엄 프로, 펜티엄 II, 펜티엄 III |
/ G 6 |
_M_IX86 = 600 |
80386 |
/G3 |
_M_IX86 = 300 |
80486 |
/ G4 |
_M_IX86 = 400 |