Rozdíl Mezi Sestavením A DLL

Rozdíl Mezi Sestavením A DLL
Rozdíl Mezi Sestavením A DLL

Video: Rozdíl Mezi Sestavením A DLL

Video: Rozdíl Mezi Sestavením A DLL
Video: Новички в C #: - Сборка, EXE и DLL 2024, Duben
Anonim

Sestavení vs DLL

Knihovna je sbírka prostředků, které lze použít k vývoji aplikací. Knihovna se obvykle skládá z podprogramů, funkcí, tříd, hodnot a typů. Během procesu propojování (obvykle provádí linker) se knihovny a spustitelné soubory navzájem odkazují. Soubory DLL jsou soubory knihovny, které jsou propojeny dynamicky. DLL byla vyvinuta společností Microsoft. Ale kvůli problémům se soubory DLL přišla společnost Microsoft s formátem souboru Assembly (s. NET frameworkem). Soubory sestavení jsou fyzicky velmi podobné DLL, ale mají mnoho vnitřních rozdílů.

Co je DLL?

Dynamic Link Library (běžněji známá jako DLL) je implementace sdílené knihovny vyvinutá společností Microsoft. Využívá příponu.dll,.ocx nebo.drv a používá se v operačních systémech Microsoft Windows a OS / 2..dll je používán běžnými soubory DLL. A příponu.ocx používají knihovny, které obsahují ovládací prvky ActiveX a příponu.drv používají starší soubory ovladačů systému. Formát souboru DLL je stejný jako soubory Windows EXE (Přenosné spustitelné soubory ve 32bitových / 64bitových systémech Windows a Nový spustitelný soubor v 16bitových Windows). Proto může být v souborech DLL obsažena jakákoli kombinace kódu, dat a prostředků (stejně jako v souborech EXE). Ve skutečnosti se datové soubory ve formátu souboru DLL nazývají zdrojové DLL. Knihovny ikon (s příponou.icl) a soubory písem (s příponami.fon a.fot) jsou příklady zdrojových knihoven DLL.

Komponenty nazývané sekce tvoří DLL a každá sekce má své vlastní atributy, jako je jen pro čtení / zapisovatelné a spustitelné / nespustitelné. Sekce kódu jsou spustitelné, zatímco datové části nelze spustit. Sekce kódu jsou sdílené a datové sekce jsou soukromé. To znamená, že všechny procesy využívající knihovnu DLL budou používat stejnou kopii kódu, zatímco každý proces bude mít vlastní kopii dat. Primární dynamická knihovna pro Windows je kernel32.dll, která obsahuje základní funkce (funkce související se soubory a pamětí) v systému Windows. COM (Component Object Model) je rozšíření DLL do OOP (Object Oriented Programming). Konvenční knihovny DLL se používají snadněji než soubory COM.

Co je to shromáždění?

Společnost Microsoft představila soubory sestavení, aby vyřešila několik problémů se soubory DLL. Soubory sestavení byly zavedeny pomocí rozhraní Microsoft. NET. Spustitelná logická jednotka funkčnosti se nazývá Assembly. Sestavy jsou spustitelné pod. NET CLR (Common Language Runtime). Fyzicky sestavy existují jako soubory EXE nebo DLL. Ale interně se velmi liší od knihoven Microsoft Win32 DLL. Soubor sestavy je tvořen manifestem, metadaty, MISL (kód Microsoft Intermediate Language) a dalšími prostředky. Sestava popisuje sama sebe. Manifest obsahuje informace, jako je název, verze, kultura, silné jméno, seznam souborů, typy a závislosti. Kód MISL se provádí prostřednictvím CLR (nelze jej přímo spustit).

Jaký je rozdíl mezi Assembly a DLL?

DLL je dynamicky propojená knihovna. Ačkoli jsou sestavení fyzicky stejná jako DLL, interně se velmi liší. Není možné udržovat konzistenci mezi sadou DLL, ale CLR může udržovat konzistenci mezi sadou sestavení, protože sestavení mají vlastní popis (obsahují interně seznam závislostí). Na rozdíl od knihoven DLL jsou informace o verzích vynucovány pro sestavení (CLR). Souběžné nasazení (různé aplikace využívající různé verze) je možné u sestav.

Doporučená: