프로그래밍 언어/C_C++

[개요] C 표준 사전 정의된 매크로

투칼론 2016. 6. 17. 17:52
반응형

C 언어에서 미리 정의된 매크로(Predefined Macro)는 아래와 같다.


  • __FILE__ 소스 파일의 절대 경로 값
  • __LINE__ : 소스 라인 번호
  • __DATE__ : 컴파일될 때의 날짜
  • __TIME__ :  컴파일될 때의 시간
  • __STDC__ : 컴파일러가 ANSI C (ISO) 표준을 따르면 1, 아니면 0임
  • __STDC_VERSION__ : C 표준 버전, yyyymm 포맷의 long integer 값



<<테스트 소스>>


#include <stdio.h>

int main()

{

        printf("FILE : %s\n", __FILE__);

        printf("LINE : %d\n", __LINE__);

        printf("LINE : %s\n", __DATE__);

        printf("LINE : %s\n", __TIME__);

        printf("LINE : %d\n", __STDC__);

        printf("LINE : %ld\n", __STDC_VERSION__);


        return 0;

}




<<컴파일>>


컴파일 시에 -std=c99 옵션을 설정해야, __STDC_VERSION__에 대해 오류가 발생하지 않는다.


$ gcc -std=c99 -o macro_sample  macro_sample.c




<<실행 결과>>


FILE : macro_sample.c

LINE : 6

LINE : Jun 17 2016

LINE : 02:50:44

LINE : 1

LINE : 199901