Pergunta

Alguém pode me explicar o que é um thunk?

e um atl thunk?

Eu sei que um thunk tem algo a ver com o VTBL e a execução do código para encontrar o ponteiro de função certo.Estou certo?

Foi útil?

Solução

É um termo genérico para um código de adaptador que muda fundamentalmente o ambiente de execução.Eu vi primeiro sendo usado durante a transição do Windows de 16 bits a 32 bits, um thunk foi usado para permitir o código que estava sendo executado no modo de 16 bits para ligar para o código de 32 bits.

Algo semelhante para o ATL Thunks.Ele sabe como transformar um retorno de retorno do Windows, um ambiente de execução Cure C com nada além de uma identificação de janela para distinguir o contexto, em uma chamada de método virtual em um objeto de classe.O Thunk cuida de mapear a identificação da janela para a instância de classe ATL que envolve e traduz o número da mensagem para o método virtual correspondente.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top