DLL dhidi ya LIB
Maktaba ni mkusanyiko wa nyenzo ambazo zinaweza kutumika kutengeneza programu. Maktaba kawaida huundwa na subroutines, kazi, madarasa, maadili na aina. Wakati wa mchakato wa kuunganisha (kawaida hufanywa na kiunganishi), maktaba na utekelezo hurejelea kila mmoja. Faili za maktaba zimegawanywa katika maktaba tuli na zinazobadilika kulingana na wakati ambapo subroutines hupakiwa kwa programu inayolengwa. Ipasavyo, faili za LIB zimeunganishwa kwa utaratibu na faili za DLL ni maktaba zilizounganishwa kwa nguvu.
DLL ni nini?
Maktaba ya Kiungo Cha Nguvu (inayojulikana zaidi kama DLL) ni utekelezaji wa maktaba inayoshirikiwa iliyotengenezwa na Microsoft. Inatumia viendelezi vya.dll,.ocx au.drv na vinatumika katika mifumo ya uendeshaji ya Microsoft Windows na OS/2..dll inatumiwa na faili za kawaida za DLL. Na kiendelezi cha.ocx kinatumiwa na maktaba zilizo na vidhibiti vya ActiveX na kiendelezi cha.drv kinatumiwa na faili za viendeshaji vya mfumo uliopitwa na wakati. Umbizo la faili la DLL ni sawa na faili za Windows EXE (Faili Zinazotekelezeka kwenye Windows 32-bit/64-bit, na Inayotekelezeka Mpya kwenye Windows 16-bit). Kwa hivyo, mchanganyiko wowote wa nambari, data na rasilimali zinaweza kuwa kwenye faili za DLL (kama vile faili za EXE). Kama suala la ukweli, faili za data zilizo na umbizo la faili la DLL huitwa rasilimali za DLL. Maktaba za aikoni (zenye kiendelezi cha.icl) na faili za fonti (zenye.fon na viendelezi vya.fot) ni mifano ya DLL za rasilimali.
Vipengee vinavyoitwa sehemu huunda DLL na kila sehemu ina sifa zake kama vile kusoma tu/kuandika na inayoweza kutekelezeka/isiyotekelezeka. Sehemu za msimbo zinaweza kutekelezwa, wakati sehemu za data hazitekelezeki. Sehemu za msimbo zinashirikiwa na sehemu za data ni za faragha. Hiyo inamaanisha kuwa michakato yote inayotumia DLL itatumia nakala sawa ya nambari, wakati kila mchakato utakuwa na nakala yake ya data. Maktaba ya msingi yenye nguvu ya Windows ni kernel32.dll, ambayo ina vipengele vya msingi (faili na utendakazi unaohusiana na kumbukumbu) kwenye Windows. COM (Mfano wa Kipengee cha Kipengee) ni upanuzi wa DLL hadi OOP (Upangaji Unaolenga Kitu). DLL za kawaida ni rahisi kutumia kuliko faili za COM.
LIB ni nini?
LIB faili ni maktaba tuli (pia hujulikana kama maktaba zilizounganishwa kwa takwimu). Faili za LIB zina mkusanyiko wa subroutines, kazi za nje na vigezo. Faili za LIB hutatuliwa kwa wakati wa kukusanya (kinyume na wakati wa kukimbia). Nambari hiyo imenakiliwa kwa programu inayolengwa. Mkusanyaji, kiunganishi au kiunganishi atafanya azimio hili na kutoa faili ya kitu na faili inayoweza kutekelezwa. Mchakato huu unaitwa mchakato wa uundaji tuli.
Kuna tofauti gani kati ya DLL na LIB?
Maktaba za LIB zinaweza kuitwa wakati wa ujumuishaji, lakini maktaba za DLL zinaweza tu kuitwa wakati wa utekelezaji. Faili za LIB ni kubwa zaidi kuliko faili za DLL. Tatizo la kawaida sana na faili za DLL ni tatizo la utayarishaji. Hii hutokea wakati msimbo wa DLL unabadilishwa na programu hutumia toleo lisilo sahihi la DLL. Hili si tatizo linalohusishwa na faili za LIB. Kwa upande wa utumiaji tena, unapoandika matoleo mapya ya mifumo au programu mpya kabisa, DLL huwa bora kila wakati kuliko LIB.