Nagie's DevStory

[C] 43. inline(인라인) 함수란? 본문

Programming/C

[C] 43. inline(인라인) 함수란?

Nagie 2023. 10. 7. 18:09
728x90

인라인 함수는 C 프로그래밍에서 함수 호출의 오버헤드를 줄이면서 코드 실행 속도를 높이기 위해 만들어진 기능이다.

인라인 함수는 #define의 전처리 지시문처럼 함수 호출 지점에 함수의 코드가 직접 삽입되어 실행되기 때문에

함수 호출 비용에 따른 오버헤드를 줄일 수 있으며 사용 방법은 함수를 정의할 때 앞에 inline 키워드를 붙여주면 된다.

 

inline int add(int a, int b) { //인라인 함수 정의

	return a + b;
}

 

다만 인라인 함수는 사용자가 컴파일러에 강제하는 것이 아닌 요청하는 것이라

컴파일러가 무조건 인라인 함수로 바꿔주지는 않으며 간단한 함수에서 사용하는 걸 추천한다.

그리고 인라인 함수는 호출되는 지점에 코드가 삽입되는 형태로 작동하기 때문에 코드의 크기가 늘어나며

자주 사용하게 되면 메모리 사용량을 늘릴 수 있어 조심해야 한다.

또한 함수 호출 스택 추적이 어려워져 디버깅하기 어려워지는 단점이 있다.

728x90
Comments