Sdílet prostřednictvím


Výhody použití knihoven DLL

Dynamické propojení má následující výhody:

  • Šetří paměť a snižuje prohození. Mnoho procesů může použít současně stejnou DLL knihovnu sdílením jediné kopie DLL knihovny v paměti. Oproti tomu musí systém Windows načíst do paměti kód knihovny pro každou aplikaci sestavenou se staticky propojenou knihovnou.

  • Šetří prostor na disku. Mnoho aplikací může sdílet jednu kopii knihovny DLL na disku. Oproti tomu každá aplikace sestavená se staticky propojenou knihovnou, má tuto knihovnu propojenou se svou spustitelnou bitovou kopií jako samostatnou kopii.

  • Aktualizace na knihovnu DLL jsou jednodušší. Při změně funkcí v knihovně DLL, není potřeba znovu překládat nebo přelinkovávat aplikace, používající tuto knihovnu, tak dlouho, dokud se nezmění návratové hodnoty nebo argumenty funkcí v knihovně DLL. Oproti tomu staticky propojený objekt kódu vyžaduje opakované propojení s aplikací vždy když se změní jeho funkce.

  • Poskytuje podporu po uvedení produktu na trh. Například knihovna DLL ovladače zobrazení může být upravena pro podporu zobrazování toho, co nebylo k dispozici při prodeji aplikace.

  • Podporuje vícejazyčné programy. Programy napsané v rozdílných programovacích jazycích mohou volat stejnou funkci knihovny DLL tak dlouho, dokud dodržují konvenci volané funkce. Programy a funkce knihovny DLL musí být v souladu s následujícími způsoby: pořadí, ve kterém funkce očekává, že budou její argumenty vloženy do zásobníku, zda je tato funkce nebo aplikace zodpovědná za vyčištění zásobníku a zda jsou všechny argumenty předány v registrech.

  • Poskytuje mechanismus pro rozšíření tříd knihovny MFC. Můžete odvodit třídy z existujících tříd knihovny MFC a rozšířit jimi knihovnu DLL pro použití v MFC aplikacích.

  • Usnadňuje vytvoření mezinárodních verzí. Tvorba mezinárodních verzí aplikace je mnohem snazší při umístění prostředků do knihovny DLL. Můžete umístit řetězce pro každou jazykovou verzi vaší aplikace do samostatných prostředků knihovny DLL a mít tak různé jazykové verze pouhým načtením patřičných prostředků.

Potenciální nevýhodou použití knihoven DLL je, že aplikace není samostatná; to závisí na existenci samostatného modulu knihovny DLL.

Co chcete udělat?

Co chcete vědět více?

Viz také

Koncepty

Knihovny DLL