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 que utilizan los archivos DLL para generar, utilice __declspec(dllimport) en las declaraciones de los símbolos públicos.La palabra clave __declspec(dllimport) funciona tanto si exporta con archivos .def como con la palabra clave __declspec(dllexport).

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

#define DllImport   __declspec( dllimport )

DllImport int  j;
DllImport void func();

El uso de __declspec(dllimport) es opcional en declaraciones de función, pero el compilador produce un código más eficaz si utiliza esta palabra clave.Sin embargo, debe utilizar __declspec(dllimport) para que el ejecutable importador pueda tener acceso 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?

Vea también

Conceptos

Importar a una aplicación