2010-07-09 6 views
8

프로그램을 컴파일하는 데 사용 된 컴파일러 이름과 버전을 인쇄하는 방법이 있습니까?C : 런타임시 컴파일러 정보

printf("This is compiled with %s version %s\n", COMPILER, COMPILER_VERSION); 

?

답변

9

:

참조 : GCC를 들어 http://predef.sourceforge.net/precomp.html

: MSVC 들어

#if defined(__GNUC__) 
# if defined(__GNUC_PATCHLEVEL__) 
# define __GNUC_VERSION__ (__GNUC__ * 10000 \ 
          + __GNUC_MINOR__ * 100 \ 
          + __GNUC_PATCHLEVEL__) 
# else 
# define __GNUC_VERSION__ (__GNUC__ * 10000 \ 
          + __GNUC_MINOR__ * 100) 
# endif 
#endif 

그냥 사용

_MSC_FULL_VER 
+0

+1 : 당신을 저도 이길테니까;) –

+0

Err ... Microsoft의 컴파일러를 사용하면 어떨까요? – Arafangion

+0

_MSC_FULL_VER 링크를 살펴보십시오. 이것은 컴파일러에 특정한 프리 프로세서 정의에 대한 참조입니다. –

4

아니오, 컴파일러의 이름을 얻는 방법은 컴파일러에 따라 다릅니다 .-P.

gcc는 __VERSION__ 매크로를 제공합니다.

당신은 전처리하여이 작업을 수행 할 수 있습니다