Inicializace knihovny DLL
Obvykle se knihovna DLL inicializuje kódem (jako přidělování paměti), který musí být spuštěn při načtení knihovny DLL.Když používáte aplikaci Visual C++, kde přidáte kód k inicializaci vaší knihovny DLL, závisí knihovna DLL na typu, který vytváříte.Pokud nepotřebujete přidat kód inicializace nebo ukončení, nemusíte při vytváření knihovny DLL udělat nic zvláštního.Potřebujete-li vaši knihovnu DLL inicializovat, následující tabulka popisuje, kam svůj kód přidáte.
Typ DLL |
Kde přidat kód inicializace a ukončení |
---|---|
Obvyklá knihovna DLL |
V objektech knihoven DLL CWinAppInitInstance a ExitInstance. |
Rozšířená knihovna DLL |
Ve funkci DllMain vytvořené průvodcem MFC DLL. |
Non-MFC knihovna DLL |
Ve funkci nazvané DllMain které poskytnete. |
V systému Win32 mohou všechny knihovny DLL obsahovat funkci vstupního bodu (obvykle nazvaný DllMain), která je volána pro inicializaci a ukončení. To vám dává možnost k přidělení nebo uvolnění dalších prostředků podle potřeby.Windows zavolá funkci vstupního bodu v situacích čtyři: proces připojit, odpojit proces, podproces připojování a odpojování podprocesu.
Knihovna jazyka C poskytuje za běhu funkci vstupního bodu nazvanou _DllMainCRTStartup volanou funkcí DllMain. V závislosti na typu knihovny DLL byste měli mít funkci nazvanou DllMain ve zdrojovém kódu nebo byste měli používat DllMain poskytovanou v knihovně MFC.
Co chcete udělat?
Co chcete vědět více?
Funkční specifikace pro DllMain (sada SDK pro systém Windows)
Funkce vstupního bodu dynamické knihovny (sady SDK systému Windows)