ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [C++]전처리기
    Programming/C&C++ 2005. 11. 23. 19:50
    C/C++에서 #으로 시작하는 것은 지시어로써 컴파일러에게 무언가를 알릴 때 사용한다.
    대표적인 것이 #include로 컴파일러에게 특정 파일을 포힘시키라고 알리는 역할을 한다.
    #ifndef (#ifdef) 와 #endif는 항상 함께 사용되며, 사용법은 다음과 같다.

    #ifndef(#ifdef) 이름

    내용

    #endif

    #ifndef는 이름에 해당하는 것이 #define문에 의해 정의되어 있지 않으면 컴파일할 때 내용을 포함시키고, 이름이 정의되어 있으면 포함시키지 말라고 컴파일렁에게 지시한다.
    #ifdef 는 #ifndef와 반대로 동작한다. 정의되어 있을 때 포함시킨다.

    ex)
    #ifndef __CMACHINE_H_INCLUDED__
    #define __CMACHINE_H_INCLUDED__
    프로그램 내용

    #endif

    __CMACHINE_H_INCLUDED__이 정의안된 상태라면 그것을 디파인하고 프로그램내용도 사용한다.
    이미 정의되었다면 프로그램내용을 포함하지 않고 바로 끝

    예 >>>>>>>>>>>>>>>>>

    #define DEBUG // 없으면 디버그 표시 X , 있으면 디버그 표시 O

    #ifdef DEBUG

    fprintf(...);

    #endif


    예 >>>>>>>>>>>>>>>>>

    #define DEBUG // 위에꺼랑 반대

    #ifndef DEBUG

    fprintf(...);

    #endif

    'Programming > C&C++' 카테고리의 다른 글

    dirent  (0) 2006.01.03
    [C++]파일 입출력에 관한 모든 것  (2) 2006.01.03
    [C++]어느 클래스 소속의 메소드???  (2) 2005.11.22
    [C++]소수점 이하 출력  (1) 2005.11.22
    [C++]전형적인 Class의 정의  (0) 2005.11.16
Designed by Tistory.