david's daily developer note

[C,C++] C++ Macro vs inline 본문

[Develop] Native/C++ , C

[C,C++] C++ Macro vs inline

mouse-david 2012. 3. 3. 18:00
728x90

매크로 함수와 인라인 함수의 차이 메모

 

매크로를 이용한 함수의 인라인화는 전처리기에서 처리된다.

키워드 inline을 이용한 함수의 인라인화는 컴파일러에서 처리된다. 

이때, 컴파일러에 따라서 inline선언이 오히려 성능 향상에 해가 된다고 판단될 경우, 그냥 무시해 버리기도 한다. 

 

매크로 함수의 단점

함수의 구현이 까다롭고, 디버깅하기 어렵다. 

함수 콜이 아니라, 전처리 단계에서 인라인화 되므로, 함수의 크기가 크다면 프로그램의 크기 또한 커지게 된다. 

728x90