2010-07-25 3 views
3

누군가가 썽크가 무엇인지 설명 할 수 있습니까?썽크와 ATL 썽크?

및 ATL 썽크?

나는 썽크가 올바른 함수 포인터를 찾기 위해 vtbl과 코드의 실행과 관련이 있다는 것을 알고있다. 내가 맞습니까?

+0

다음은 썽크에 대한 스택 오버플로 질문입니다. http://stackoverflow.com/questions/2641489/what-is-a-thunk. 따라서 ATL 썽크 (예 : "Thunks가 ATL에서 사용되는 방법")에 대해서만 묻지 않는 한, 귀하의 질문은 속는 사람으로 마감해야합니다. –

답변

4

실행 환경을 근본적으로 변경하는 어댑터 코드의 총칭입니다. 16 비트에서 32 비트로의 Windows 전환 중에 처음으로 사용 된 것을 보았습니다. 16 비트 모드에서 실행중인 코드가 32 비트 코드를 호출 할 수있게하는 데 사용되었습니다.

ATL 썽크와 비슷한 점이 있습니다. 윈도우 콜백, 문맥을 구별하기위한 윈도우 핸들 만있는 순수한 C 실행 환경을 클래스 객체의 가상 메소드 호출로 변환하는 방법을 알고있다. 썽크는 윈도우 핸들을 랩핑하는 ATL 클래스 인스턴스에 매핑하고 메시지 번호를 해당 가상 메소드로 변환합니다.

관련 문제