Condividi tramite


dllexport, dllimport

Sezione specifica Microsoft

Gli attributi della classe di archiviazione dllexport e dllimport sono estensioni specifiche di Microsoft ai linguaggi C e C++. È possibile utilizzarli per esportare e importare funzioni, dati e oggetti verso o da una DLL.

__declspec( dllimport ) declarator 
__declspec( dllexport ) declarator

Note

Questi attributi definiscono in modo esplicito l'interfaccia della DLL per il client che può essere il file eseguibile o un'altra DLL. La dichiarazione delle funzioni come dllexport elimina la necessità di un file def di definizione moduli, almeno rispetto alla specifica delle funzioni esportate. L'attributo dllexport sostituisce la parola chiave __export.

Se la classe è contrassegnata come declspec(dllexport), tutte le specializzazioni dei modelli di classe nella gerarchia di classe vengono implicitamente contrassegnate come declspec(dllexport). Ciò significa che le istanze dei modelli di classe vengono create in modo esplicito e che i membri della classe devono essere definiti.

dllexport di una funzione espone la funzione con il relativo nome decorato. Per le funzioni C++, ciò include l'alterazione del nome. Per le funzioni C o le funzioni dichiarate come extern "C", ciò include la decorazione specifica della piattaforma basata sulla convenzione di chiamata. Se non si desidera la decorazione dei nomi, utilizzare un file def (parola chiave EXPORTS).

Quando si dichiara dllexport o dllimport, è necessario utilizzare la sintassi degli attributi estesa e la parola chiave __declspec.

Esempio

// Example of the dllimport and dllexport class attributes
__declspec( dllimport ) int i;
__declspec( dllexport ) void func();

In alternativa, per rendere il codice più leggibile, è possibile utilizzare le definizioni di macro:

#define DllImport   __declspec( dllimport )
#define DllExport   __declspec( dllexport )

DllExport void func();
DllExport int i = 10;
DllImport int j;
DllExport int n;

Per ulteriori informazioni, vedere:

Fine sezione specifica Microsoft

Vedere anche

Riferimenti

__declspec

Parole chiave C++