인라인 함수
호출이 일어나는 위치에 인라인 함수의 실행코드를 복사하여 실행해주는 함수입니다.
일반함수의 경우는 호출이 일어나는 지점에서 함수의 시작번지로 분기하고 수행 후에 복귀주소로 돌아옵니다.
간단하고 작은 함수일때 사용하면 좋다.
인라인 함수의 장점
일반함수가 호출될 때 필요한 명령을 줄이므로 좀 더 빠르다.
인라인 함수의 단점
컴파일시 호출된 지점으로 코드가 복사되므로 실행 프로그램의 크기가 커진다.
인라인 함수에 사용되는 키워드
inline
해당 키워드가 붙은 함수는 컴파일러의 판단에 따라 인라인 함수가 될지 결정된다.
즉, 이 키워드가 붙어도 반드시 인라인 함수가 되는 것은 아니다.
위 키워드는 cpp에서만 사용 가능하다
_inline
위 inline 키워드와 설명은 동일하되, c와 cpp 모두 사용 가능하다.
_forceinline
해당 키워드가 붙은 함수는 반드시 인라인 함수가 된다.
위 키워드는 c, cpp 모두 사용 가능하다.
쉽게 말하면, inline과 _inline 및 _inlinedms 인라인 함수로 만들어 주십쇼. 하고 요청하는 것이고, 컴파일러님이 판단하기에 '만들면 이익볼것이 없다' 판단되면 일반 함수로 만들어 버리는 반면에, _forceinline은 인라인 함수로 만들어라! 라고 명령하는 것입니다.
사용 방식:
키워드 리턴형 함수명(매개변수){함수내용}
inline void A(){} //cpp 에서만 작동
_inline void B(){}
__inline void C(){}
__forceinline void D(){}
카테고리 없음