Compartir a través de


Importar a una aplicación mediante __declspec(dllimport)

Se dice que un programa que utiliza símbolos públicos definidos por un archivo DLL importa dichos símbolos. Cuando cree archivos de encabezado para aplicaciones en las que se usan los archivos DLL para la compilación, utilice __declspec(dllimport) en las declaraciones de los símbolos públicos. La palabra clave __declspec(dllimport) funciona tanto si se exporta con archivos. def como con la palabra clave __declspec(dllexport).

Para que el código sea más legible, defina una macro para __declspec(dllimport) y después úsela para declarar cada símbolo importado:

#define DllImport   __declspec( dllimport )

DllImport int  j;
DllImport void func();

El uso de __declspec(dllimport) es opcional en las declaraciones de función, pero el compilador genera un código más eficaz si usa esta palabra clave. Pero debe usar __declspec(dllimport) para que el ejecutable importador pueda acceder a los símbolos y objetos de datos públicos del archivo DLL. Tenga en cuenta que los usuarios del archivo DLL aún deben vincularse a una biblioteca de importación.

Puede utilizar el mismo archivo de encabezado para el archivo DLL y para la aplicación de cliente. Para ello, utilice un símbolo de preprocesador especial que indique si está compilando el archivo DLL o la aplicación de cliente. Por ejemplo:

#ifdef _EXPORTING
   #define CLASS_DECLSPEC    __declspec(dllexport)
#else
   #define CLASS_DECLSPEC    __declspec(dllimport)
#endif

class CLASS_DECLSPEC CExampleA : public CObject
{ ... class definition ... };

¿Qué desea hacer?

¿Qué más desea saber?

Consulte también

Importación a una aplicación