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:
Definizione di funzioni inline C++ con dllexport e dllimport
Tramite l'attributo dllimport e di dllexport nelle classi C++
FINE specifiche di Microsoft