Sdílet prostřednictvím


Definování vložených funkcí jazyka C++ pomocí příkazů dllexport a dllimport

Specifické pro Microsoft

Jako vloženou lze definovat funkci s atributem dllexport.V takovém případě je pro funkci vždy vytvořena instance a funkce je exportována bez ohledu na to, zda se program na funkci odkazuje.Funkce je považována za importovanou jiným programem.

Jako vloženou lze definovat také funkci deklarovanou s atributem dllimport.V tomto případě lze funkci rozbalit (dle specifikací /Ob), nelze pro ni však vytvořit instanci.Zejména, je-li načtena adresa vložené importované funkce, je vrácena adresa funkce umístěné v knihovně DLL.Toto chování je shodné s načtením adresy nevložené importované funkce.

Tato pravidla platí pro vložené funkce, jejichž definice jsou uvedeny uvnitř definice třídy.Kromě toho statická místní data a řetězce ve vložených funkcích zachovávají stejné identity mezi knihovnou DLL a klientem tak, jak by je zachovávaly v jediném programu (tedy spustitelném souboru bez rozhraní knihovny DLL).

Při poskytování importovaných vložených funkcí buďte opatrní.Například při aktualizaci knihovny DLL nepředpokládejte, že klient bude změněnou verzi knihovny používat.Chcete-li se ujistit, že je načítána správná verze knihovny DLL, sestavte znovu také klienta knihovny.

Viz také

Referenční dokumentace

dllexport, dllimport