Sdílet prostřednictvím


Import do aplikace použitím __declspec(dllimport)

Program, který používá veřejné symboly, definované knihovnou DLL, tyto symboly importuje. Když vytváříte hlavičkové soubory pro aplikace, které používají k sestavení vaše DLL knihovny, použijte __declspec(DllImport) k deklaraci veřejných symbolů. Klíčové slovo __declspec(DllImport) pracuje buď s vámi exportovaními soubory .def nebo s klíčovým slovem __declspec(dllexport).

Aby byl Váš kód více čitelnější, definujte makro pro __declspec(DllImport) a poté použijte makro k deklaraci každého importovaného symbol:

#define DllImport   __declspec( dllimport )

DllImport int  j;
DllImport void func();

Použití __declspec(DllImport) je volitelné na způsobu deklarací, ale kompilátor vytváří více efektivnější kod, pokud použijete toto klíčové slovo. Je však nutné používat __declspec(DllImport) pro vkládání spustitelného souboru pro přístup DLL knihoven k veřejným datovým symbolům a objektům. Uvědomte si, že uživatelé vaší knihovny DLL potřebují mít stále připojeny importované knihovny.

Můžete použít stejný hlavičkový soubor pro knihovnu DLL a klientskou aplikaci. K tomu použijte speciální preprocesorový symbol, který označí, jestli sestavujete knihovnu DLL nebo klientskou aplikaci. Příklad:

#ifdef _EXPORTING
   #define CLASS_DECLSPEC    __declspec(dllexport)
#else
   #define CLASS_DECLSPEC    __declspec(dllimport)
#endif

class CLASS_DECLSPEC CExampleA : public CObject
{ ... class definition ... };

Co chcete udělat?

Co chcete vědět více?

Viz také

Koncepty

Import do aplikace