Rozdíl mezi sestavou a knihovnou DLL

Rozdíl mezi sestavou a knihovnou DLL
Rozdíl mezi sestavou a knihovnou DLL

Video: Rozdíl mezi sestavou a knihovnou DLL

Video: Rozdíl mezi sestavou a knihovnou DLL
Video: The Technology of Maglev Trains: Explained 2024, Červenec
Anonim

Sestavení vs DLL

Knihovna je sbírka zdrojů, které lze použít k vývoji aplikací. Knihovna se obvykle skládá z podprogramů, funkcí, tříd, hodnot a typů. Během procesu propojení (obvykle prováděného linkerem) na sebe knihovny a spustitelné soubory odkazují. Soubory DLL jsou soubory knihovny, které jsou dynamicky propojeny. DLL byla vyvinuta společností Microsoft. Ale kvůli některým problémům se soubory DLL přišel Microsoft s formátem souboru Assembly (s frameworkem. NET). Soubory sestavení jsou fyzicky velmi podobné knihovnám 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. Používá přípony.dll,.ocx nebo.drv a používají se v operačních systémech Microsoft Windows a OS/2..dll používají běžné soubory DLL. A příponu.ocx používají knihovny obsahující ovládací prvky ActiveX a příponu.drv používají starší soubory systémových ovladačů. Formát souboru DLL je stejný jako u souborů Windows EXE (přenosné spustitelné soubory na 32bitových/64bitových Windows a Nový spustitelný soubor na 16bitových Windows). Proto může být v souborech DLL (stejně jako v souborech EXE) obsažena jakákoli kombinace kódu, dat a zdrojů. Datové soubory ve formátu souboru DLL se ve skutečnosti nazývají zdrojové knihovny DLL. Knihovny ikon (s příponou.icl) a soubory písem (s příponami.fon a.fot) jsou příklady knihoven DLL prostředků.

Součásti zvané sekce tvoří knihovnu DLL a každá sekce má své vlastní atributy, jako je pouze pro čtení/zapisovatelný a spustitelný/nespustitelný. Sekce kódu jsou spustitelné, zatímco datové sekce nespustitelné. Části kódu jsou sdílené a části dat jsou soukromé. To znamená, že všechny procesy používající knihovnu DLL budou používat stejnou kopii kódu, přičemž každý proces bude mít svou 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í) ve Windows. COM (Component Object Model) je rozšíření knihovny DLL na OOP (Object Oriented Programming). Konvenční knihovny DLL se používají snadněji než soubory COM.

Co je shromáždění?

Soubory sestavení byly představeny společností Microsoft za účelem vyřešení několika problémů, které se vyskytují u souborů DLL. Soubory sestavení byly zavedeny s rozhraním Microsoft. NET. Spustitelná logická jednotka funkčnosti se nazývá shromáždění. Sestavení jsou spustitelná pod. NET CLR (Common Language Runtime). Fyzicky sestavení existují jako soubory EXE nebo DLL. Interně se však velmi liší od Microsoft Win32 DLL. Soubor sestavení se skládá z manifestu, metadat, MISL (Microsoft Intermediate Language code) a dalších zdrojů. Sestava se sama popisuje. Manifest obsahuje informace, jako je název, verze, kultura, silný název, seznam souborů, typy a závislosti. MISL kód se provádí prostřednictvím CLR (nelze jej spustit přímo).

Jaký je rozdíl mezi shromážděním a knihovnou DLL?

DLL je dynamicky propojená knihovna. Přestože se sestavení fyzicky rovnají knihovnám DLL, jsou interně velmi odlišné. Není možné udržovat konzistenci mezi sadou knihoven DLL, ale CLR může udržovat konzistenci mezi sadou sestavení, protože sestavení jsou samopopisující (interně obsahují seznam závislostí). Na rozdíl od knihoven DLL jsou informace o verzích vynucovány pro sestavení (pomocí CLR). Souběžné nasazení (různé aplikace používající různé verze) je možné se sestavami.

Doporučuje: