- C에서 프로그래밍을 하다가 헤더파일을 중복으로 include 한 경우, 컴파일時 '재정의' 오류가 발생한다.
Solution.
- 헤더파일에 맨 위에 아래의 명령어를 추가하여 헤더파일이 중복으로 컴파일되는 것을 방지한다.
1) #ifndef ~ #endif
Example.
#ifndef MY_HEADER_H // MY_HEADER_H가 선언되어 있지 않으면
#define MY_HEADER_H // '여기부터 #endif 이전 라인까지 포함시켜라'는 전처리 지시어.
//..code..
#endif
2) #pragma once
단 한번만 처리를 하고, 다음부터는 같은 파일의 경우 컴파일러가 헤더 파일을 열지도 않는다.
컴파일 속도는 빨라지나, 일부 컴파일러에서는 지원이 안 될 수도 있으므로 안정성과 범용성 측면에 있어서는 #ifndef ~ #endif를 사용하는 것을 추천함.
No comments:
Post a Comment