Sdílet prostřednictvím


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 adres DLL

Kde přidat kód inicializace a ukončení

Obvyklá knihovna DLL

V objektech knihoven DLL CWinApp InitInstance 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. Systém Windows volá funkci vstupního bodu ve čtyřech situacích: přidělení procesu, odebrání procesu, přidělení vlákna a odebrání vlákna.

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?

Viz také

Koncepty

Knihovny DLL