Thunk

En el desarrollo de software moderno, un thunk es la llamada del código nativo desde el código gestionado y viceversa (véase por ejemplo Java Native Access o .NET P/Invoke).

El lenguaje de programación C++/CLI del .NET-Framework de Microsoft fue concebido especialmente para posibilitar tales thunks en ambas direcciones: Sea dada una clase nativa en C++, por ejemplo un proyecto C++ o como parte integrante de un proyecto C++/CLI, que se utilizará más abajo en código gestionado: La clase gestionada C++/CLI (que en esta forma puede ser directamente instanciada, por ejemplo, en C#), la cual utiliza la clase nativa mostrada anteriormente: La clase gestionada C++/CLI : Las clases nativas C++ en un proyecto C++/CLI.

Los Thunks han sido ampliamente utilizados para proporcionar interoperabilidad entre los módulos de software cuyas rutinas de programación no pueden comunicarse directamente entre sí, como en los siguientes casos.

Un Thunk exitoso minimiza el trabajo extra que la persona debe ejecutar con muchas notificaciones, y solo debe ocuparse de una notificación regular en todo el proceso.

A medida que los clientes han migrado desde una plataforma a otra, los procesadores han sido esenciales para apoyar el legado del software escrito de las plataformas más antiguas.