Assembly vs DLL
Një bibliotekë është një koleksion burimesh që mund të përdoren për të zhvilluar aplikacione. Një bibliotekë zakonisht përbëhet nga nënprograme, funksione, klasa, vlera dhe lloje. Gjatë procesit të lidhjes (zakonisht bëhet nga një lidhës), bibliotekat dhe ekzekutuesit i referohen njëra-tjetrës. Skedarët DLL janë skedarët e bibliotekës që janë të lidhur në mënyrë dinamike. DLL u zhvillua nga Microsoft. Por për shkak të disa problemeve të pranishme me skedarët DLL, Microsoft doli me formatin e skedarit Assembly (me kornizën. NET). Skedarët e montimit janë fizikisht shumë të ngjashëm me skedarët DLL, por ato kanë shumë dallime të brendshme.
Çfarë është DLL?
Biblioteka e Lidhjeve Dinamike (e njohur më shpesh si DLL) është një implementim i përbashkët i bibliotekës i zhvilluar nga Microsoft. Ai përdor shtesat.dll,.ocx ose.drv dhe ato përdoren në sistemet operative Microsoft Windows dhe OS/2..dll përdoret nga skedarët e rregullt DLL. Dhe zgjerimi.ocx përdoret nga bibliotekat që përmbajnë kontrolle ActiveX dhe zgjerimi.drv përdoret nga skedarët e drejtuesve të sistemit të vjetër. Formati i skedarit DLL është i njëjtë me skedarët EXE të Windows (Skedarët e ekzekutueshëm portativë në Windows 32-bit/64-bit dhe i ekzekutueshëm i ri në Windows 16-bit). Prandaj, çdo kombinim i kodit, të dhënave dhe burimeve mund të përmbahet në skedarët DLL (ashtu si në skedarët EXE). Në fakt, skedarët e të dhënave me formatin e skedarit DLL quhen DLL të burimeve. Bibliotekat e ikonave (me shtesën.icl) dhe skedarët e shkronjave (me shtesat.fon dhe.fot) janë shembuj të DLL-ve të burimeve.
Përbërësit e quajtur seksione përbëjnë një DLL dhe çdo seksion ka atributet e veta si vetëm për lexim/shkruhen dhe ekzekutues/joekzekutues. Seksionet e kodit janë të ekzekutueshme, ndërsa seksionet e të dhënave nuk janë të ekzekutueshme. Seksionet e kodit janë të përbashkëta dhe seksionet e të dhënave janë private. Kjo do të thotë që të gjitha proceset që përdorin DLL do të përdorin të njëjtën kopje të kodit, ndërsa secili proces do të ketë kopjen e vet të të dhënave. Biblioteka kryesore dinamike për Windows është kernel32.dll, e cila përmban funksionet bazë (funksionaliteti i skedarit dhe kujtesës) në Windows. COM (Component Object Model) është zgjerimi i DLL në OOP (Object Oriented Programming). DLL-të konvencionale janë më të lehta për t'u përdorur sesa skedarët COM.
Çfarë është një Asamble?
Skedarët Assembly u prezantuan nga Microsoft për të zgjidhur disa probleme të pranishme me skedarët DLL. Skedarët e montimit u prezantuan me kornizën Microsoft. NET. Një njësi logjike e ekzekutueshme e funksionalitetit quhet Asamble. Asambletë janë të ekzekutueshme nën. NET CLR (Common Language Runtime). Fizikisht, asambletë ekzistojnë si skedarë EXE ose DLL. Por, ato janë shumë të ndryshme nga DLL-të e Microsoft Win32, nga brenda. Një skedar asambleje përbëhet nga një manifest, meta të dhëna, MISL (kodi i gjuhës ndërmjetëse i Microsoft) dhe burime të tjera. Një asamble është vetë-përshkruar. Manifesti përmban informacione të tilla si emri, versioni, kultura, emri i fortë, lista e skedarëve, llojet dhe varësitë. Kodi MISL ekzekutohet përmes CLR (ai nuk mund të ekzekutohet drejtpërdrejt).
Cili është ndryshimi midis Asamblesë dhe DLL?
DLL është një bibliotekë e lidhur në mënyrë dinamike. Megjithëse, asambletë janë fizikisht të barabarta me DLL-të, ato janë shumë të ndryshme nga brenda. Nuk është e mundur të ruhet konsistenca midis një grupi DLL-sh, por CLR mund të ruajë konsistencën midis një grupi asamblesh, sepse asambletë janë të vetë-përshkruara (ato përmbajnë listën e varësive nga brenda). Ndryshe nga DLL-të, informacioni i versionimit zbatohet për asambletë (nga CLR). Vendosja krah për krah (aplikacione të ndryshme që përdorin versione të ndryshme) është e mundur me asamble.