본문 바로가기
카테고리 없음

헤더파일 작성에서 전처리기

by ByteBridge 2013. 2. 23.
반응형

프로젝트 ->> config.h,con.cpp,main.cpp 가 있을 때->con.cpp 와 main.cpp 파일이 config.h 파일을 각각 참조하는경우 동일한 내용을 두번 참조하면 오류가 발생할수있다.

이를 방지하기 위하여 컴파일에서 해당코드를 한번만 참조하게 하는 전처리기를 사용한다.

  • 컴파일 할 때 매번 모든 코드를 컴파일 하는 것이 아니라 조건에 만족하는 코드만을 컴파일에 포함하는것이다.

    à예약어

    #ifdef AAA

    #else

    #endif

위의 내용은 AAA가 정의 되어 있다면 #ifdef 와 #else 사이의 내용을 컴파일하고,AAA가 정의 되어있지않다면 #else와 #endif 사이의 내용을 컴파일 하는것이다.

    à#ifndef AAA

     #else

     #endif

위의 내용은 AAA가 정의 되어있지않다면 #ifndef와 #else 사이의 내용을 컴파일하고,AAA가 정의 되어있다면 #else 와 #endif 사이의 내용을 컴파일 하는것이다.

  • #define 을 사용하여 기호 상수를 정의 한다.#define Test 123 à TEST 를 123 으로 대체하는 작업을 수행함,즉 Test 는 약속된 문구가 되는것이다.

Ex:

#ifndef _CONFIG_H_

#define _CONFIG_H_

    코드…

#else

#endif

만약 _CONFIG_H_ 이것이 정의가 안되있다면, _CONFIG_H_ 을 정의하라 는것이다.

à#ifdef 를 사용하려면

#ifdef _CONFIG_H_

#else

#define _CONFIG_H_

    코드

#endif

  • #ifndef _헤더파일 이름을 대문자로 표시_
  • #define _헤더파일 이름을 대문자로 표시_
  • 선언내용
  • #else
  • #endif

 

반응형