DLL vs LIB
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 e bibliotekës ndahen në biblioteka statike dhe dinamike në varësi të kohës në të cilën nënprogramet ngarkohen në aplikacionin e synuar. Prandaj, skedarët LIB janë biblioteka të lidhura në mënyrë statike dhe skedarët DLL janë biblioteka të lidhura në mënyrë dinamike.
Ç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 Windows EXE (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ë LIB?
Skedarët LIB janë biblioteka statike (të njohura edhe si biblioteka të lidhura statikisht). Skedarët LIB përmbajnë një koleksion të nënprogrameve, funksioneve të jashtme dhe variablave. Skedarët LIB zgjidhen në kohën e përpilimit (në krahasim me kohën e ekzekutimit). Kodi në të vërtetë kopjohet në aplikacionin e synuar. Një përpilues, lidhës ose një lidhës do ta bëjë këtë zgjidhje dhe do të prodhojë një skedar objekti dhe një skedar të ekzekutueshëm. Ky proces quhet proces statik i ndërtimit.
Cili është ndryshimi midis DLL dhe LIB?
Bibliotekat LIB mund të thirren gjatë kohës së përpilimit, por bibliotekat DLL mund të thirren vetëm gjatë kohës së ekzekutimit. Skedarët LIB janë dukshëm më të mëdhenj se skedarët DLL. Një problem shumë i zakonshëm me skedarët DLL është problemi i versionimit. Kjo ndodh kur kodi i DLL ndryshohet dhe aplikacioni përdor një version të gabuar të një DLL. Ky nuk është një problem i lidhur me skedarët LIB. Për sa i përket ripërdorimit, kur shkruani versione të reja të sistemeve ose aplikacione krejtësisht të reja, DLL-të janë gjithmonë më të mira se LIB.