함수자+강제 인라인+템플릿

함수자+강제 인라인+템플릿 카테고리 없음 2012. 3. 9. 19:20

함수자+강제 인라인+템플릿을 써야 한다.

하지만 효율이 걱정되는 부분이 있었다.

클래스 함수를 호출할 때, this를 전달하는 오버헤드라던가 인라인 함수가 잘 될까 하는 부분이라던가.

그리고 템플릿을 사용한 함수자가 컴파일이 잘 안되는 문제 등.


1. 컴파일 문제는 컴파일러 버전 문제로, 템플릿 함수자는 gcc 3.x 버전에서 

"function body not available" 이란 에러를 냈었다.  4.x에서 이 문제는 해결됐으며 잘 되는 걸 확인했다.


2. 인라인이 함수자와도 잘 맞을까 하는 걱정도 없어졌다.


test2( a, 8 ); //class Functor의 op()로 만든 함수자

c9: c7 44 24 10 08 00 00 mov DWORD PTR [esp+0x10],0x8
d0: 00
d1: 8b 44 24 10 mov eax,DWORD PTR [esp+0x10]
d5: a3 00 00 00 00 mov ds:0x0,eax
 
이렇게 3줄로 번역되었고, this 전달은 일어나지 않았다.




Posted by 게임이좋다
하단 사이드바 열기

BLOG main image