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. |
Přípona DLL |
Ve funkci DllMain vytvořené průvodcem MFC DLL. |
Non-MFC knihovna DLL |
Ve vámi poskytnuté funkci nazvané DllMain. |
V systému Win32 mohou všechny knihovny DLL obsahovat funkci vstupního bodu (obvykle nazvanou DllMain), která je volána pro inicializaci a ukončení.To vám dává možnost přidělit nebo uvolnit další prostředky podle potřeby.Systém Windows volá funkci vstupního bodu ve čtyřech situacích: připojení procesu, odpojení procesu, a odpojení vlákna.
Knihovna jazyka C poskytuje za běhu funkci vstupního bodu nazvanou _DllMainCRTStartup a 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.