투케이2K

33. (C/C언어) 미리 정의된 매크로(predefined macro) 사용해 DATE, TIME, LINE, STDC_HOSTED 표시 본문

C

33. (C/C언어) 미리 정의된 매크로(predefined macro) 사용해 DATE, TIME, LINE, STDC_HOSTED 표시

투케이2K 2021. 2. 3. 20:46

/* =========================== */

[ 개발 환경 설정 ]

​개발 툴 : VisualStudio

개발 언어 : C언어

/* =========================== */

/* =========================== */

[소스 코드]

 

#pragma warning(disable:4996)
#include <stdio.h>

int main() {

    /*
    * [미리 정의된 매크로(predefined macro) 사용해 DATE, TIME, LINE, STDC_HOSTED 표시]
    * 1. 미리 정의된 매크로란 #define 선행처리 지시자로 정의하지 않아도 사용할 수 있는 컴파일러가 참고해야 할 정보를 알려주기 위해서 매크로입니다
    * 2. __DATE__ : 선행처리가 수행된 날짜를 "Mmm dd yyyy"형식으로 나타낸 문자열입니다
    * 3. __TIME__ : 선행처리가 수행된 시간을 "hh:mm:ss"형식으로 나타낸 문자열입니다
    * 4. __FILE__ : 현재 소스 파일의 이름을 나타내는 문자열입니다
    * 5. __LINE__ : 현재 소스 파일에서 처리중인 라인 번호를 나타내는 문자열입니다
    * 6. __STDC_HOSTED__ : 호스트 환경이 아니면 0, 호스트 환경이면 1로 설정합니다
    */

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

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

    printf("라인 번호 : %d \n", __LINE__);

    printf("STDC_HOSTED : %d \n", __STDC_HOSTED__);

    return 0;

}

/* =========================== */

[결과 출력]

날짜 : Feb 3 2021

시간 : 20:40:41

라인 번호 : 20

STDC_HOSTED : 1

/* =========================== */

/* =========================== */

[요약 설명]

* 1. 미리 정의된 매크로란 #define 선행처리 지시자로 정의하지 않아도 사용할 수 있는 컴파일러가 참고해야 할 정보를 알려주기 위해서 매크로입니다

* 2. __DATE__ : 선행처리가 수행된 날짜를 "Mmm dd yyyy"형식으로 나타낸 문자열입니다

* 3. __TIME__ : 선행처리가 수행된 시간을 "hh:mm:ss"형식으로 나타낸 문자열입니다

* 4. __FILE__ : 현재 소스 파일의 이름을 나타내는 문자열입니다

* 5. __LINE__ : 현재 소스 파일에서 처리중인 라인 번호를 나타내는 문자열입니다

* 6. __STDC_HOSTED__ : 호스트 환경이 아니면 0, 호스트 환경이면 1로 설정합니다

/* =========================== */

반응형
Comments