C++ inline 함수에 관해 궁금한 것이 있습니다.
글쓴이: ShaYEL / 작성시간: 금, 2014/07/04 - 1:43오전
굉장히 자주 호출되고 코드 길이도 짧은 함수가 있어서, 인라인 함수로 바꿔보려고 하고 있습니다.
그런데 이 함수가 한 파일 내에서만 호출되는게 아니라 다른 여러 파일들에서 사용하고 있어서 이 함수를 정의한 소스파일은 실제로 실행되는 소스파일과 분리되어 있는 상태인데요. 인라인 함수에 관해 찾아보니 인라인 함수는 실제로 호출되는 함수 내에서 static inline으로 선언과 정의가 모두 이루어져야만 한다는 말이 있었습니다. 정말 인라인 함수의 정의를 다른 파일로 분리하는 방법은 없는 것인가요?
그리고 인라인 함수로 바꾼 뒤에 실제로 인라인이 적용되었는지를 확인하고 싶은데, 너무 큰 프로젝트라 어셈블리 파일을 확인해 보기는 좀 곤란할 것 같습니다. 어셈블리를 보는 것 외에 다른 확인할 수 있는 방법이 있을까요?
Forums:
자주 호출되고 길이가 짧은 함수라면 헤더에
자주 호출되고 길이가 짧은 함수라면 헤더에 inline으로 선언과 정의를 같이 쓰는게 제일 간단한 방법입니다.
함수의 정의를 꼭 별도의 장소에 작성해야한다면 link time optimization을 이용하시는 게 좋을 것 같습니다.
댓글 달기