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