Skillnaden mellan montering och DLL

Skillnaden mellan montering och DLL
Skillnaden mellan montering och DLL

Video: Skillnaden mellan montering och DLL

Video: Skillnaden mellan montering och DLL
Video: Простейший электрический поезд в мире 2024, November
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 utförd av en länkare), refererar bibliotek och körbara filer till varandra. DLL-filer är biblioteksfilerna som länkas dynamiskt. DLL utvecklades av Microsoft. Men på grund av vissa problem med DLL-filer, kom Microsoft med Assembly-filformatet (med. NET-ramverket). Assembly-filer är fysiskt mycket lika DLL-filer, men de har många interna skillnader.

Vad är DLL?

Dynamic Link Library (mer känd som DLL) är en implementering av delat bibliotek utvecklad av Microsoft. Den använder tilläggen.dll,.ocx eller.drv och de används i operativsystemen Microsoft Windows och OS/2..dll används av vanliga DLL-filer. Och.ocx-tillägget används av biblioteken som innehåller ActiveX-kontroller och.drv-tillägget används av äldre systemdrivrutinsfiler. DLL-filformatet är detsamma som Windows EXE-filer (bärbara körbara filer på 32-bitars/64-bitars Windows och Ny körbar på 16-bitars Windows). Därför kan vilken kombination av kod, data och resurser som helst finnas i DLL-filer (precis som i EXE-filer). Faktum är att datafiler med DLL-filformatet kallas resurs-DLL. Ikonbibliotek (med.icl-tillägg) och teckensnittsfiler (med.fon- och.fot-tillägg) är exempel på resurs-DLL:er.

Komponenter som kallas sektioner utgör en DLL och varje sektion har sina egna attribut som skrivskyddad/skrivbar och körbar/icke-körbar. Kodsektioner är körbara, medan datasektioner inte är körbara. Kodsektionerna är delade 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 sin 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 en förlängning av DLL till OOP (Object Oriented Programming). Konventionella DLL-filer är lättare att använda än COM-filer.

Vad är en församling?

Assembly-filer introducerades av Microsoft för att lösa flera problem som finns med DLL-filer. Assembly-filer introducerades med Microsoft. NET-ramverket. En körbar logisk funktionalitetsenhet kallas en sammanställning. Sammansättningar är körbara under. NET CLR (Common Language Runtime). Fysiskt existerar sammansättningar som EXE- eller DLL-filer. Men de skiljer sig mycket från Microsoft Win32 DLL-filer internt. En sammanställningsfil består av ett manifest, metadata, MISL (Microsoft Intermediate Language code) och andra resurser. En sammanställning är självbeskrivande. Manifestet innehåller information som namn, version, kultur, starkt namn, fillista, typer och beroenden. MISL-koden exekveras genom CLR (den kan inte exekveras direkt).

Vad är skillnaden mellan montering och DLL?

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

Rekommenderad: