Importar y exportar funciones inline
Las funciones importadas deben definirse como funciones inline. El efecto es parecido al resultante de definir una función estándar inline; las llamadas a la función se expanden al código en línea, de forma parecida a cómo lo hace una macro. Esto es especialmente útil como forma de ofrecer compatibilidad con las clases de C++ en un archivo DLL que puede incluir en línea algunas de sus funciones miembro para aumentar la eficacia.
Una característica de una función inline importada es que puede utilizar su dirección en C++. El compilador devuelve la dirección de la copia de la función inline que reside en el archivo DLL. Otra característica de las funciones inline importadas es que pueden inicializar datos locales estáticos de la función importada (y no datos globales importados).
Precaución |
---|
Debe tener cuidado al proporcionar funciones inline importadas, ya que podrían producir conflictos entre versiones. Una función inline se expande en el código de la aplicación; por tanto, si después vuelve a escribir la función, no se actualizará a menos que se vuelva a compilar la aplicación. Normalmente, las funciones de archivos DLL pueden actualizarse sin volver a generar las aplicaciones que las utilizan. |
¿Qué desea hacer?
Exportar desde un archivo DLL mediante __declspec(dllexport)
Exportar funciones de C++ para utilizarlas en ejecutables en lenguaje C