Sdílet prostřednictvím


dllexport, dllimport

Specifické pro Microsoft

Atributy třídy úložiště dllexport a dllimport jsou zvláštní rozšíření společnosti Microsoft pro jazyky C a C++.Můžete je použít pro funkce exportu a importu dat a objektů do nebo z knihovny DLL.

__declspec( dllimport ) declarator 
__declspec( dllexport ) declarator

Poznámky

Tyto atributy explicitně definují rozhraní DLL klientovi, který může být spustitelný soubor nebo jiná knihovna DLL.Deklarování funkcí jako dllexport eliminuje potřebu souboru definice modulu (.def), alespoň pokud jde o specifikaci exportovaných funkcí.Atribut dllexport nahrazuje klíčové slovo __export.

Pokud má třída označení declspec(dllexport), jakékoli specializace šablony třídy v hierarchii třídy jsou implicitně označeny jako declspec(dllexport).To znamená, že šablony třídy explicitně vytvoří instanci a členy tříd musí být definovány.

dllexport funkce vystavuje funkci s jejím upraveným názvem.Pro funkce jazyka C++ to zahrnuje pozměnění názvu.Pro funkce C nebo funkce, které jsou deklarovány jako extern „C“, to zahrnuje na platformě závislou dekoraci, která je založena na konvenci volání.Pokud nechcete úpravu názvu, použijte soubor .def (klíčové slovo EXPORTS).

Pokud deklarujete dllexport nebo dllimport, musíte použít syntaxi rozšířeného atributu a klíčové slovo __declspec.

Příklad

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

Aby byl váš kód lépe čitelný, můžete použít také definice makra:

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

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

Další informace naleznete v části:

Specificka produktu Microsoft END

Viz také

Referenční dokumentace

__declspec

Klíčová slova jazyka C++