둘다 헤더파일을 한번만 정의할때 사용되는 키워드이다 !!
그런데 이 두개의 차이점은 ?
보통 #pragma once와 #ifndef를 헤더파일 상단에 붙이는데
그런데 이 두개의 차이점은 ?
보통 #pragma once와 #ifndef를 헤더파일 상단에 붙이는데
둘다 헤더파일을 한번만 컴파일 하라는 의미다
차이점은 #pragma는 컴파일러마다 종속적인 사항을 지시하는거라 표준이 아니다
하지만 대부분의 컴파일러들이 지원한다고한다
빌드시 #pragma once를 포함한 헤더파일을 기억해두고 나중에 똑같은 헤더파일을 만나게되면
아예 열어보지도 않고 넘어간다
근데 #ifndef는 언어차원의 표준이다
둘을 비교할때 속도는 #pragma once가 중복된 파일을 만난경우 아예 넘어가므로 약간 빠르다
이것은 오직 인클루드 가드 용도로만 정해져있기 때문이다
하지만 #ifndef는 모든 헤더파일을 열어서 확인하는 방식이다
이 부분은 다른분은 블로거에서 가지고 온 글이다 !!
[출처] #pragma once와 #ifndef 차이|작성자 휴즈벌
'Soft Ware > C 언어!!' 카테고리의 다른 글
#undef 사용 및 정의 (0) | 2011.10.10 |
---|---|
#ifdef ~ #endif , #ifndef~#endif 정의 (0) | 2011.10.10 |
함수 포인터와 구도체를 이용한 클래스 따라하기 !! (0) | 2011.10.08 |
메모리 접근 및 캐스팅 문제 !!! (0) | 2011.10.03 |
void 형 포인터 연산 (0) | 2011.09.29 |