Rozdiel Medzi Zostavením A DLL

Rozdiel Medzi Zostavením A DLL
Rozdiel Medzi Zostavením A DLL

Video: Rozdiel Medzi Zostavením A DLL

Video: Rozdiel Medzi Zostavením A DLL
Video: Как покрасить комнату | Учитесь с советами 2024, Smieť
Anonim

Zostavenie vs DLL

Knižnica je kolekcia zdrojov, ktoré možno použiť na vývoj aplikácií. Knižnica sa zvyčajne skladá z podprogramov, funkcií, tried, hodnôt a typov. Počas procesu prepájania (zvyčajne ich vykonáva linker) sa knižnice a spustiteľné súbory navzájom odkazujú. Súbory DLL sú súbory knižnice, ktoré sú prepojené dynamicky. DLL bola vyvinutá spoločnosťou Microsoft. Ale kvôli problémom, ktoré sa vyskytli v súboroch DLL, spoločnosť Microsoft prišla s formátom súboru Assembly (s. NET frameworkom). Súbory zostavy sú fyzicky veľmi podobné súborom DLL, ale majú veľa vnútorných rozdielov.

Čo je to DLL?

Knižnica Dynamic Link (všeobecnejšie známa ako DLL) je implementácia zdieľanej knižnice vyvinutá spoločnosťou Microsoft. Používa prípony.dll,.ocx alebo.drv a používajú sa v operačných systémoch Microsoft Windows a OS / 2..dll sa používa v bežných súboroch DLL. A príponu.ocx používajú knižnice, ktoré obsahujú ovládacie prvky ActiveX, a príponu.drv používajú staršie súbory ovládačov systému. Formát súboru DLL je rovnaký ako súbory systému Windows EXE (prenosné spustiteľné súbory v 32-bitových / 64-bitových systémoch Windows a nový spustiteľný súbor v 16-bitových systémoch Windows). Akákoľvek kombinácia kódu, údajov a prostriedkov môže byť preto obsiahnutá v súboroch DLL (rovnako ako v súboroch EXE). V skutočnosti sa dátové súbory vo formáte súborov DLL nazývajú zdrojové DLL. Knižnice ikon (s príponou.icl) a súbory fontov (s príponami.fon a.fot) sú príkladmi zdrojových DLL.

Komponenty nazývané sekcie tvoria DLL a každá sekcia má svoje vlastné atribúty ako iba na čítanie / zapisovateľné a spustiteľné / nevykonateľné. Sekcie kódu sú spustiteľné, zatiaľ čo sekcie dát nie sú spustiteľné. Sekcie kódu sú zdieľané a sekcie dát súkromné. To znamená, že všetky procesy využívajúce DLL budú používať rovnakú kópiu kódu, zatiaľ čo každý proces bude mať svoju vlastnú kópiu údajov. Primárnou dynamickou knižnicou pre Windows je kernel32.dll, ktorá obsahuje základné funkcie (funkcie spojené so súbormi a pamäťou) v systéme Windows. COM (komponentový objektový model) je rozšírenie DLL do OOP (objektovo orientované programovanie). Konvenčné DLL sú ľahšie použiteľné ako súbory COM.

Čo je zhromaždenie?

Spoločnosť Microsoft predstavila súbory zhromaždenia s cieľom vyriešiť niekoľko problémov, ktoré so súbormi DLL panujú. Súbory zostavy boli zavedené pomocou rámca Microsoft. NET. Spustiteľná logická jednotka funkčnosti sa nazýva zhromaždenie. Zostavy sú spustiteľné pod. NET CLR (Common Language Runtime). Zostavy fyzicky existujú ako súbory EXE alebo DLL. Ale vnútorne sa veľmi líšia od DLL Microsoft Win32. Súbor zostavy sa skladá z manifestu, metadát, MISL (kód Microsoft Intermediate Language) a ďalších prostriedkov. Zhromaždenie samo popisuje. Manifest obsahuje informácie ako názov, verzia, kultúra, silné meno, zoznam súborov, typy a závislosti. Kód MISL sa vykonáva prostredníctvom CLR (nemožno ho vykonať priamo).

Aký je rozdiel medzi Assembly a DLL?

DLL je dynamicky prepojená knižnica. Aj keď sú zostavy fyzicky rovnaké ako DLL, vnútorne sa veľmi líšia. Nie je možné zachovať konzistenciu medzi množinou DLL, ale CLR môže udržiavať konzistenciu medzi množinou zostáv, pretože zostavy samy popisujú (interne obsahujú zoznam závislostí). Na rozdiel od súborov DLL sa informácie o verziách vynútia pre zostavy (pomocou CLR). Nasadenie je možné vedľa seba (rôzne aplikácie používajúce rôzne verzie).

Odporúčaná: