인라인 함수
인라인 함수는 C/C++ 에서 사용할 수 있는 기능이다. 인라인으로 명시된 함수는 호출된 함수 부분을 코드로 치환하여 컴파일된다. 따라서 프로그램 실행 중, 호출 함수의 주소로 점프하고 다시 돌아오는 방법을 사용하지 않게 된다. 코드가 호출부에 치환하여 삽입되므로 함수 주소 이동이 없기에 속도의 면에서 유리하다.
사용법
#include <stdio.h>
inline void print()
{
printf("Hello, world");
}
int main()
{
print();
return 0;
}
위와같이 함수 앞에 inline을 명시하면 된다.
위 함수는 컴파일러를 통해 아래처럼 바뀌어 동작한다.
int main()
{
printf("Hello, world");
return 0;
}
그러나 최신 컴파일러의 경우 inline이 붙지 않아도 자동 인라이닝을 하는경우도 있다. 반면 인라이닝을 거부하는 컴파일러도 있다.