wookss blog

매크로 함수와 인라인 함수를 사용하는 경우의 장단점 본문

Study/프로그래밍

매크로 함수와 인라인 함수를 사용하는 경우의 장단점

wooklab 2013. 5. 21. 00:30
반응형

함수를 이용하면 호출과 반환으로 인한 메모리 할당 등 오버헤드가 발생한다.

그러므로 짧은 길이의 C함수를 이용하는 것은 장점보다는 비효율적인 면이 많다.

이러한 경우에 매크로함수를 이용하는 것이 바람직한데,

매크로 함수를 이용하면 전처리기에 의해 해당 부분이 정의된 내용으로 대체되어 함수 호출 과정이 사라진다.

 

 

따라서 함수 이용으로 인한 오버헤드가 발생하지 않는다.

 

 

반면 매크로 함수의 정의 부분이 길면 프로그램의 크기가 커지게 되는 문제점이 있다.

 

 

그러므로 짧은 길이의 경우에 매크로 함수를 이용하는 것이 바람직하다.

그러나 매크로 함수를 정의하는 것은 일반적인 함수를 정의하는 것보다는 구현이 까다롭다.

일반적인 함수를 정의하는 것처럼 쉽게 구현할 수 있고

매크로 함수처럼 동작하는 기능을 가진 함수가 있는데 이는 C++의 인라인 함수(in-line function)이다.

반응형