일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 컴퓨터
- ios 7 beta 5
- iOS7 beta2
- 티스토리 초대장
- ios7 beta
- 아이폰5
- ios7 beta3 버그
- ios7 베타
- ios9
- beta5
- ios7 골드마스터
- ios8 beta
- iOS7
- iphone
- 아이폰 IOS7
- TISTORY
- ios
- 베타5
- iphone5
- 티스토리
- ios7 gm
- 블로그
- 애플
- WWDC
- ios7 beta4
- 아이폰
- ios7 beta3
- ios8
- computer
- ios7 배포
Archives
- Today
- Total
wookss blog
매크로 함수와 인라인 함수를 사용하는 경우의 장단점 본문
반응형
함수를 이용하면 호출과 반환으로 인한 메모리 할당 등 오버헤드가 발생한다.
그러므로 짧은 길이의 C함수를 이용하는 것은 장점보다는 비효율적인 면이 많다.
이러한 경우에 매크로함수를 이용하는 것이 바람직한데,
매크로 함수를 이용하면 전처리기에 의해 해당 부분이 정의된 내용으로 대체되어 함수 호출 과정이 사라진다.
따라서 함수 이용으로 인한 오버헤드가 발생하지 않는다.
반면 매크로 함수의 정의 부분이 길면 프로그램의 크기가 커지게 되는 문제점이 있다.
그러므로 짧은 길이의 경우에 매크로 함수를 이용하는 것이 바람직하다.
그러나 매크로 함수를 정의하는 것은 일반적인 함수를 정의하는 것보다는 구현이 까다롭다.
일반적인 함수를 정의하는 것처럼 쉽게 구현할 수 있고
매크로 함수처럼 동작하는 기능을 가진 함수가 있는데 이는 C++의 인라인 함수(in-line function)이다.
반응형
'Study > 프로그래밍' 카테고리의 다른 글
모바일 페이지로 자동 이동시키는 스크립트, 소스 (0) | 2013.12.30 |
---|---|
프로시저와 함수의 차이, 매개변수 전달 방식 (1) | 2013.05.21 |
연산자, 반복문, 분기문, 구조적 프로그래밍 (0) | 2013.05.14 |
정적 바인딩과 동적 바인딩 (0) | 2013.05.14 |
프로그래밍 처리 기법 (0) | 2013.05.14 |