Condividi tramite


Importazione in un'applicazione tramite __declspec(dllimport)

Un programma che utilizza i simboli pubblici definiti da una DLL, per definizione li importa. Quando si creano i file di intestazione per applicazioni che utilizzano le DLL in fase di compilazione, utilizzare __declspec(dllimport) nelle dichiarazioni dei simboli pubblici. La parola chiave __declspec(dllimport) funziona sia quando si esegue l'esportazione con i file def che quando si utilizza la parola chiave __declspec(dllexport).

Per rendere il codice più leggibile, definire una macro per __declspec(dllimport), quindi utilizzarla per dichiarare ciascun simbolo importato:

#define DllImport   __declspec( dllimport )

DllImport int  j;
DllImport void func();

L'utilizzo di __declspec(dllimport) è facoltativo nelle dichiarazioni di funzioni, ma consente al compilatore di produrre un codice più efficiente. È tuttavia necessario utilizzare __declspec(dllimport) per consentire all'eseguibile di importazione di accedere agli oggetti e ai simboli di dati pubblici della DLL. Tenere presente che gli utenti della DLL devono collegarsi a una libreria di importazione.

È possibile utilizzare lo stesso file di intestazione per la DLL e per l'applicazione client. A questo scopo, utilizzare uno speciale simbolo del preprocessore che indica se è in corso la compilazione della DLL o dell'applicazione client. Di seguito è riportato un esempio:

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

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

Scegliere l'argomento con cui si desidera procedere

Scegliere l'argomento su cui visualizzare maggiori informazioni

Vedere anche

Concetti

Importazione in un'applicazione