Skillnad mellan montering och DLL

Anonim

Assembly vs DLL

Ett bibliotek är en samling resurser som kan användas för att utveckla applikationer. Ett bibliotek består vanligtvis av subrutiner, funktioner, klasser, värden och typer. Under länkningsprocessen (vanligtvis gjort av en länkare) hänvisar bibliotek och exekveringar till varandra. DLL-filer är biblioteksfilerna som är länkade dynamiskt. DLL utvecklades av Microsoft. Men på grund av några problem med DLL-filer kom Microsoft upp med Assembly-filformat (med. NET-ramverket). Monteringsfiler liknar mycket DLLs fysiskt, men de har många interna skillnader.

Vad är DLL?

Dynamisk länkbibliotek (mer känt som DLL) är ett gemensamt bibliotek implementerat av Microsoft. Den använder. dll,. ocx eller. drv extensions och de används i Microsoft Windows och OS / 2 operativsystem … dll används av de vanliga DLL-filerna. Och. Ocx-förlängning används av bibliotek som innehåller ActiveX-kontroller och. drv förlängning används av äldre system drivrutinsfiler. DLL-filformatet är samma som Windows EXE-filerna (Portable Executable-filer på 32-bitars / 64-bitars Windows och New Executable på 16bit Windows). Därför kan en kombination av kod, data och resurser innehålla DLL-filer (precis som i EXE-filer). Som faktum är datafiler med DLL-filformat kallas resursdlls. Ikonbibliotek (med.lc-förlängning) och fontfiler (med.fon och.fot-extensions) är exempel på resursdlls.

Komponenter som heter sektioner utgör en DLL och varje avsnitt har egna attribut som skrivskyddade / skrivbara och körbara / ej körbara. Kodsektioner kan köras, medan datasektioner inte kan köras. Kodsektionerna delas och datasektionerna är privata. Det betyder att alla processer som använder DLL kommer att använda samma kopia av koden, medan varje process kommer att ha en egen kopia av data. Det primära dynamiska biblioteket för Windows är kernel32. dll, som innehåller basfunktionerna (fil- och minnesrelaterad funktionalitet) på Windows. COM (Component Object Model) är förlängningen av DLL till OOP (Object Oriented Programming). Konventionella DLL-filer är enklare att använda än COM-filer.

Vad är en församling?

Monteringsfiler introducerades av Microsoft för att lösa flera problem med DLL-filer. Monteringsfiler introducerades med Microsoft. NET-ramverket. En körbar logisk enhet för funktionalitet kallas en församling. Sammansättningar är körbara under. NET CLR (Common Language Runtime). Fysiskt finns församlingar som EXE- eller DLL-filer. Men de är väldigt olika för Microsoft Win32 DLLs, internt. En monteringsfil består av en manifest, metadata, MISL (Microsoft Intermediate Language code) och andra resurser.En samling är självbeskrivande. Manifestet innehåller informationen som namn, version, kultur, starkt namn, fillista, typer och beroenden. MISL-koden utförs genom CLR (den kan inte direkt utföras).

Vad är skillnaden mellan montering och DLL?

DLL är ett dynamiskt länkat bibliotek. Även om sammansättningar är fysiskt lika med DLL, är de väldigt olika internt. Det är inte möjligt att upprätthålla konsistens mellan en uppsättning DLLs, men CLR kan upprätthålla konsistens mellan en uppsättning av sammansättningar, eftersom sammansättningar är självbeskrivande (de innehåller listan över beroenden internt). Till skillnad från för DLL: er, utförs versionsinformation för montering (av CLR). Utveckling sida vid sida (olika applikationer med olika versioner) är möjlig med montering.