![[C/C++ Tip] 16. Extern 중복 문제 해결 (Include Guard) [C/C++ Tip] 16. Extern 중복 문제 해결 (Include Guard)](https://mblogthumb-phinf.pstatic.net/MjAyNDA0MDFfMjEg/MDAxNzExODk3MjIzNzky.pF_0siqIfLNKE6_5EM27AuplMwazgmnk4g038WwfZQYg.D8rX8u-7raIvSwRTmuVcrRaFN0kX-ZjNqKMr4C5mJU8g.PNG/%C1%A6%B8%F1%C0%BB_%C0%D4%B7%C2%C7%D8%C1%D6%BC%BC%BF%E4_-001.png?type=w2)
C언어에서 헤더 파일의 중복 포함은 다양한 문제를 일으킬 수 있다. 예를 들어, 프로젝트 단위가 커져 같은 헤더 파일이 여러 번 포함되면 변수나 함수 선언이 중복되어 컴파일 오류가 발생할 수 있다.
이를 방지하기 위해 "Include Guard"라는 기법이 널리 사용된다. Include Guard는 전처리기(preprocessor) 지시문을 사용하여 헤더 파일이 한 번만 포함되도록 보장한다.
가장 일반적인 방법은 #ifndef, #define, #endif 지시문을 사용하는 것이다. 중복 포함 방지: 헤더 파일이 여러 번 포함되는 것을 방지하여, 중복 선언으로 인한 컴파일 오류를 예방한다.
프로그램 구조 개선: 코드의 모듈화와 재사용성을 높이며, 프로그램의 구조를 명확하게 한다. 컴파일 시간 단축: 불필요한 헤더 파일의 재처리를 방지함으로써, 전체 컴파일 시간을 단축할 수 있다.
코드 다음은 Include Guard를 사용한 헤더 파일의 예시이다. myheader.h: #ifndef...
#C
#define
#endif
#extern
#ifndef
#pragma
#교육
#중복
원문링크 : [C/C++ Tip] 16. Extern 중복 문제 해결 (Include Guard)