본문 바로가기
컴퓨터 공학/C, C++

[ C ] 전처리기 이해하기4_매크로 함수란? 장단점/활용

by hahehohoo 2020. 7. 27.
반응형

 

 

매크로 함수는 일반 함수를 정의하는 것보다 복잡합니다. 함수의 크기가 크면 매크로로 정의하는 것 자체가 불가능할 수 있습니다. 디버깅도 매우 어렵습니다. 그럼에도 불구하고 함수를 매크로로 정의하는 이유는 무엇일까요? 

 

1 상대적으로 실행 속도가 빠르다

매크로 함수는 일반 함수에 비해 실행속도가 빠릅니다. 호출과 동시에 호출된 함수를 위한 "스택 메모리가 할당됨 + 실행 위치 이동 + 매개변수로 인자 전달 + retrun 문을 통한 값의 반환"이 실행되기 때문입니다. 또한 선행처리기가 매크로 함수 호출을 하기 때문에 빈번하게 호출되더라도 실행 속도에 영향을 주지 않습니다. 

 

2 자료형에 따라서 별도로 함수를 정의하지 않아도 된다.

전달인자의 자료형에 상관없이 제대로 치환됩니다. 메크로 함수의 호출 문장이 매크로 함수의 몸체부분으로 단순 치환되기 때문입니다. 

 

따라서 크기가 작고, 빈번하게 호출해야 하는 함수라면 매크로로 정의하는 것이 유리할 것입니다.  

 

 

 

-----------------------------------

C언어 문법 총정리

목록 보러가기 

-----------------------------------

 

 

 

 

반응형


댓글