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 ... };