반응형
매크로 함수는 일반 함수를 정의하는 것보다 복잡합니다. 함수의 크기가 크면 매크로로 정의하는 것 자체가 불가능할 수 있습니다. 디버깅도 매우 어렵습니다. 그럼에도 불구하고 함수를 매크로로 정의하는 이유는 무엇일까요?
1 상대적으로 실행 속도가 빠르다
매크로 함수는 일반 함수에 비해 실행속도가 빠릅니다. 호출과 동시에 호출된 함수를 위한 "스택 메모리가 할당됨 + 실행 위치 이동 + 매개변수로 인자 전달 + retrun 문을 통한 값의 반환"이 실행되기 때문입니다. 또한 선행처리기가 매크로 함수 호출을 하기 때문에 빈번하게 호출되더라도 실행 속도에 영향을 주지 않습니다.
2 자료형에 따라서 별도로 함수를 정의하지 않아도 된다.
전달인자의 자료형에 상관없이 제대로 치환됩니다. 메크로 함수의 호출 문장이 매크로 함수의 몸체부분으로 단순 치환되기 때문입니다.
따라서 크기가 작고, 빈번하게 호출해야 하는 함수라면 매크로로 정의하는 것이 유리할 것입니다.
-----------------------------------
-----------------------------------
반응형
'컴퓨터 공학' 카테고리의 다른 글
| [이산수학]논리연산자란?(부정, 논리곱, 논리합, 배타적 논리합)_진리표로 나타내기 (368) | 2020.07.27 |
|---|---|
| [이산수학]불 대수와 연산우선순위란? (406) | 2020.07.27 |
| [ C ] 전처리기 이해하기1_전처리기(Preprocessor)란? 정의/용도, 지시문 종류 (395) | 2020.07.27 |
| [이산수학]명제와 진릿값이란? (421) | 2020.07.27 |
| [이산수학]논리란? 프로그래머가 논리적이어야 하는 이유 (397) | 2020.07.27 |
댓글