LIB vs DLL
Kuriant programinę įrangą, mūsų dažnai klausiama, ar norime naudoti LIB ar DLL, kad apimtų programos funkcijas. LIB yra statinė biblioteka, kurioje funkcijos ir procedūros gali būti išdėstytos ir iškviečiamos rengiant programą. DLL arba Dynamic Link Library atlieka tą pačią funkciją, tačiau yra dinamiška ta prasme, kad programa gali paskambinti šioms bibliotekoms vykdymo metu, o ne kompiliavimo metu. Tai turi keletą reikšmingų pranašumų, palyginti su LIB naudojimu.
Pradedantiesiems, jūs turėtumėte vieną failą, kuris yra žymiai didesnis, nes jame yra visas kodas, o naudodamiesi DLL turėtumėte kelis mažesnius failus. Kompiliavimas jūsų funkcijomis ir procedūromis taip pat suteiktų daugiau galimybių pakartotinai naudoti, nes kai esate patenkinti DLL funkcijomis, nes galite išlaikyti ją tokią, kokia yra kiekvienoje programos versijoje, ir nereikėtų su ja jaustis. Taip pat galite naudoti tą patį DLL, jei norite sukurti kitą programą, kuri naudoja tas pačias funkcijas ir procedūras. Galite tiesiogiai susieti su DLL, o ne nukopijuoti kodą iš šaltinio, kaip jums reikėtų daryti su LIB.
Problema su DLL yra tada, kai pakeisite DLL turinį. Tai gali sukelti versijos problemų, kai programa naudoja netinkamą DLL versiją, sukeliančią problemas. Norėdami išvengti šių problemų, turite sekti savo DLL. Jūs neturėtumėte šios problemos su LIB, nes gautumėte tik vieną didelį failą.
Kurdami programinę įrangą ir pasirinkdami DLL, savo projekte vis tiek turėtumėte LIB failą. Tačiau skirtingai nei naudojant LIB, šiame faile nėra funkcijų ir procedūrų kodo, o tik elementai, kuriuos programa turi iškviesti procedūroms iš DLL.
Santrauka:
1. DLL yra biblioteka, kurioje yra funkcijos, kurias programos gali iškviesti vykdymo metu, o LIB yra statinė biblioteka, kurios kodą reikia iškviesti kompiliavimo metu.
2. Naudojant LIB, atsirastų daug didesnis failas, kai galėtumėte sukurti kelis mažesnius failus su DLL
3. Rašant naujas versijas ar visiškai naujas programas, DLL yra daugkartinio naudojimo nei LIB
4. DLL failus gali naudoti kitos programos, tuo tarpu LIB failai negali
5. DLL yra linkę į versijos problemas, o LIB nėra
Kurdami programinę įrangą su DLL, vis tiek turėtumėte LIB failą, tačiau jame yra tik dalių