답변

8

불행히도 MSVC에는이 작업을 수행하는 방법이 없다고 생각합니다.

다음 프로그램을 사용하여 '알려진'미리 정의 된 기호의 값을 덤프했습니다. 나는 속성을 부여해야합니다 (왜냐하면 나는 이것으로 생각해 내지 못했기 때문에). 그러나 나는 그것을 어디에서 얻었는지에 대한 노트를 가지고 있지 않습니다. (업데이트 : 아마도 여기에서 얻은 것 같습니다 : http://social.msdn.microsoft.com/Forums/en-US/vclanguage/thread/644c12ed-e3a7-4c5a-a73a-610fcc7913ca)

#define __STR2__(x) #x 
#define __STR1__(x) __STR2__(x) 
#define __PPOUT__(x) "#define " #x " " __STR1__(x) 

#if defined(_ATL_VER) 
    #pragma message(__PPOUT__(_ATL_VER    )) 
#endif 

#if defined(_CHAR_UNSIGNED  ) 
    #pragma message(__PPOUT__(_CHAR_UNSIGNED  )) 
#endif 

#if defined(__CLR_VER    ) 
    #pragma message(__PPOUT__(__CLR_VER    )) 
#endif 

#if defined(__cplusplus_cli  ) 
    #pragma message(__PPOUT__(__cplusplus_cli  )) 
#endif 

#if defined(__COUNTER__   ) 
    #pragma message(__PPOUT__(__COUNTER__   )) 
#endif 

#if defined(__cplusplus   ) 
    #pragma message(__PPOUT__(__cplusplus   )) 
#endif 

#if defined(_CPPLIB_VER   ) 
    #pragma message(__PPOUT__(_CPPLIB_VER   )) 
#endif 

#if defined(_CPPRTTI    ) 
    #pragma message(__PPOUT__(_CPPRTTI    )) 
#endif 

#if defined(_CPPUNWIND   ) 
    #pragma message(__PPOUT__(_CPPUNWIND   )) 
#endif 

#if defined(_DEBUG    ) 
    #pragma message(__PPOUT__(_DEBUG    )) 
#endif 

#if defined(_DLL     ) 
    #pragma message(__PPOUT__(_DLL     )) 
#endif 

#if defined(__FUNCDNAME__   ) 
    #pragma message(__PPOUT__(__FUNCDNAME__   )) 
#endif 

#if defined(__FUNCSIG__   ) 
    #pragma message(__PPOUT__(__FUNCSIG__   )) 
#endif 

#if defined(__FUNCTION__   ) 
    #pragma message(__PPOUT__(__FUNCTION__   )) 
#endif 

#if defined(_INTEGRAL_MAX_BITS ) 
    #pragma message(__PPOUT__(_INTEGRAL_MAX_BITS )) 
#endif 

#if defined(_M_ALPHA    ) 
    #pragma message(__PPOUT__(_M_ALPHA    )) 
#endif 

#if defined(_M_CEE    ) 
    #pragma message(__PPOUT__(_M_CEE    )) 
#endif 

#if defined(_M_CEE_PURE   ) 
    #pragma message(__PPOUT__(_M_CEE_PURE   )) 
#endif 

#if defined(_M_CEE_SAFE   ) 
    #pragma message(__PPOUT__(_M_CEE_SAFE   )) 
#endif 

#if defined(_M_IX86    ) 
    #pragma message(__PPOUT__(_M_IX86    )) 
#endif 

#if defined(_M_IA64    ) 
    #pragma message(__PPOUT__(_M_IA64    )) 
#endif 

#if defined(_M_IX86_FP   ) 
    #pragma message(__PPOUT__(_M_IX86_FP   )) 
#endif 

#if defined(_M_MPPC    ) 
    #pragma message(__PPOUT__(_M_MPPC    )) 
#endif 

#if defined(_M_MRX000    ) 
    #pragma message(__PPOUT__(_M_MRX000    )) 
#endif 

#if defined(_M_PPC    ) 
    #pragma message(__PPOUT__(_M_PPC    )) 
#endif 

#if defined(_M_X64    ) 
    #pragma message(__PPOUT__(_M_X64    )) 
#endif 

#if defined(_MANAGED    ) 
    #pragma message(__PPOUT__(_MANAGED    )) 
#endif 

#if defined(_MFC_VER    ) 
    #pragma message(__PPOUT__(_MFC_VER    )) 
#endif 

#if defined(_MSC_BUILD   ) 
    #pragma message(__PPOUT__(_MSC_BUILD   )) 
#endif 

#if defined(_MSC_EXTENSIONS  ) 
    #pragma message(__PPOUT__(_MSC_EXTENSIONS  )) 
#endif 

#if defined(_MSC_FULL_VER   ) 
    #pragma message(__PPOUT__(_MSC_FULL_VER   )) 
#endif 

#if defined(_MSC_VER    ) 
    #pragma message(__PPOUT__(_MSC_VER    )) 
#endif 

#if defined(__MSVC_RUNTIME_CHECKS ) 
    #pragma message(__PPOUT__(__MSVC_RUNTIME_CHECKS )) 
#endif 

#if defined(_MT     ) 
    #pragma message(__PPOUT__(_MT     )) 
#endif 

#if defined(_NATIVE_WCHAR_T_DEFINED) 
    #pragma message(__PPOUT__(_NATIVE_WCHAR_T_DEFINED)) 
#endif 

#if defined(_OPENMP    ) 
    #pragma message(__PPOUT__(_OPENMP    )) 
#endif 

#if defined(_VC_NODEFAULTLIB  ) 
    #pragma message(__PPOUT__(_VC_NODEFAULTLIB  )) 
#endif 

#if defined(_WCHAR_T_DEFINED  ) 
    #pragma message(__PPOUT__(_WCHAR_T_DEFINED  )) 
#endif 

#if defined(_WIN32    ) 
    #pragma message(__PPOUT__(_WIN32    )) 
#endif 

#if defined(_WIN64    ) 
    #pragma message(__PPOUT__(_WIN64    )) 
#endif 

#if defined(_Wp64     ) 
    #pragma message(__PPOUT__(_Wp64     )) 
#endif 

void main() {} 
+0

이 솔루션으로 충분합니다. 감사 – Ganesh

4

나는 MSDN documentation에서 해당 옵션,하지만 비주얼 스튜디오 20082010 사용할 수 있습니다에 대한 사전 정의 된 매크로의 목록을 볼 수 없습니다.

관련 문제