Study/C
#pragma once와 #ifndef
kimtaku
2015. 4. 1. 18:42
여러개의 헤더 파일을 전처리하는 경우, 중복되는 경우가 발생할 수 있다.
이 때 #pragma once와 #ifndef ~ #endif 를 사용하게 되는데
초기에는 #ifndef XX #define XX ~~~~~ #endif 구문을 사용하였다.
~~~~~부분에 헤더에 들어갈 내용을 적어두면, 컴파일 과정에서 중복으로 선언하는 경우가 사라지기 때문이다.
그리고 이렇게 쓰이는 것을 간단하게 한 내용이 #pragma once이다.
그러면 #pragma once를 사용하면 끝일 것 같은데, #ifndef ~ #endif 구문을 사용하는 이유는
컴파일러에 따라서 #pragma once를 인식하지 못하는 컴파일러도 존재할 수 있기 때문이란다.
요즘엔 그럴 경우는 거의 없다는데..