이 코드의 해석
글쓴이: granite / 작성시간: 월, 2005/06/20 - 11:48오전
공개 코드를 분석하다 도저히 구문을 해석할 수 없는 코드가 나와 부끄럽지만 질문드립니다.
void* execute(Class* class, MethodBlock *mb) { void *ret; (*(u4 *(*)(Class*, MethodBlock*, u4*))mb->native_invoker)(class, mb, ret); return ret; }
native_invoker는 mb에서 void* 형으로 선언되 있습니다.
mb->native_invoker라는 함수를 호출하는것 같은데 구문이 복잡해 감을 잡을 수가 없네요.
Forums:
함수 포인터에 대해서는 알고 계시다고 가정하고...typedef를 써
함수 포인터에 대해서는 알고 계시다고 가정하고...
typedef를 써서 바꿔보면 좀 더 알기 쉽죠.
void*인 mb->native_invoker를 함수 포인터로 캐스팅한 후
mb->native_invoker가 가리키고 있는 함수를 호출하는 것입니다.
댓글 달기