dllexport, dllimport

Specifici di Microsoft

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

__declspec( dllimport ) declarator __declspec( dllexport ) declarator

Note

Questi attributi in modo esplicito definire un'interfaccia DLL al client, che può essere il file eseguibile o un'altra DLL.La dichiarazione funziona in dllexport elimina la necessità di un file di definizione di modulo (def), almeno rispetto alla specifica delle funzioni esportate.L'attributo di dllexport sostituisce la parola chiave di __export.

Se la classe è contrassegnato declspec (dllexport), tutte le specializzazioni dei modelli di classe nella gerarchia di classi in modo implicito sono contrassegnate come declspec (dllexport).Ciò significa che i template di classe vengono create e i membri della classe devono essere definiti.

dllexport di una funzione espone la funzione con il nome decorato.Per le funzioni C++, questo include l'imposizione del nome.Per le funzioni c oppure che vengono dichiarate come Extern "c", questo include la decorazione specifici della piattaforma basati sulla convenzione di chiamata.Se non si desidera che la decorazione dei nomi, utilizzare un file def (parola chiave diESPORTAZIONI ).

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

Esempio

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

In alternativa, 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 specifiche di Microsoft

Vedere anche

Riferimenti

__declspec

Parole chiave C++