전처리기 2

[ Coding Style Guide ] 02. C언어 - 헤더파일

헤더파일 헤더파일을 바르게 사용하는 것으로 코드의 가독성과 크기, 성능에 큰 차이를 만들 수 있다. define guard 헤더파일이 중복 포함되는 것을 방지하기 위해, 모든 헤더파일 내에 #define 가드를 사용한다 #define 가드의 형식은 ____H_이며, 는 프로젝트 소스 디렉토리로부터의 하위경로로 표시된다. // foo/src/bar/baz.h #ifndef FOO_BAR_BAZ_H #define FOO_BAR_BAZ_H #endif // FOO_BAR_BAZ_H 인라인 함수 10줄 이하이면서 for, while, switch 문을 포함하지 않은 함수만 인라인 함수로 정의한다. -inl.h 파일 복잡한 인라인 함수의 정의로 인해 헤더파일이 지저분해질 경우, 인라인 함수만 정의하는 -inl.h..

[ C ] 09. 전처리기 ( if, ifdef, elif, ifndef, define, endif )

[ 전처리기 ] 일반적인 if조건문과의 차이는 일반 if조건문이 FALSE일 경우, 실행이 되지 않을 뿐 컴파일은 된다면, #if가 0이라면 컴파일 자체가 되지않는다. #include int main(){ if(0){ printf("실행되지는 않지만 컴파일은 됨\n"); } #if 0 printf("컴파일 자체가 안됨\n"); #endif return 0; } => 전처리기의 특성을 이용한 것이다. 전처리기는 실제 컴파일이 수행되기 전에 실행되어 소스에 치환되는 데 #if가 0일 경우에는 소스에 삽입 되지 않는다. 즉 #if는 if와 다르게 조건에 따라 소스코드를 삽입하거나 삭제하기 위해 사용되는 지시자이다. #include #define NUM -3 int main(){ #if NUM printf("i..