Udostępnij za pośrednictwem


dllexport, dllimport

Programu Microsoft

dllexport i elementu dllimport atrybuty klasy magazynowania są rozszerzenia firmy Microsoft do języków C i C++.Można je eksportować i importować funkcje, dane i obiekty, do lub z biblioteki DLL.

__declspec( dllimport ) declarator __declspec( dllexport ) declarator

Uwagi

Te atrybuty jawnie zdefiniować interfejs biblioteki DLL do klienta, który może być plik wykonywalny lub inna biblioteka DLL.Zadeklarowanie funkcji jako dllexport potrzebę korzystania z pliku definicji modułów (o rozszerzeniu def), co najmniej w odniesieniu do specyfikacji eksportowanych funkcji.dllexport Atrybut zastępuje __export słowa kluczowego.

Jeśli klasa jest oznaczona declspec(dllexport), wszystkie specjalizacje szablonów klas w hierarchii klas niejawnie są oznaczone jako declspec(dllexport).Oznacza to, że wystąpienia klas szablonów jawnie są tworzone, a członkowie tej klasy muszą być zdefiniowane.

dllexportFunkcja udostępnia funkcję za pomocą nazwy dekoracyjnej.W przypadku C++ funkcje, a także, przekręcona nazwa.Dla funkcji C lub funkcje, które zostały zgłoszone jako extern "C" obejmuje to dekoracji specyficzne dla platformy, który opiera się na konwencję wywołania.Jeśli nie chcesz, aby dekorowania nazwy, należy użyć pliku .def (wywóz słowa kluczowego).

Po uznaniu dllexport lub elementu dllimport, należy użyć składni atrybutu rozszerzonego i __declspec słowa kluczowego.

Przykład

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

Alternatywnie aby zwiększyć czytelność kodu, można użyć definicje makr:

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

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

Aby uzyskać więcej informacji, zobacz:

KONIEC właściwe dla firmy Microsoft

Zobacz też

Informacje

__declspec

Słów kluczowych języka C++