DLL vs LIB
Bibliotēka ir resursu kolekcija, ko var izmantot lietojumprogrammu izstrādei. Bibliotēku parasti veido apakšprogrammas, funkcijas, klases, vērtības un veidi. Saistīšanas procesa laikā (parasti to veic sasaistītājs) bibliotēkas un izpildāmie faili atsaucas viens uz otru. Bibliotēkas faili tiek sadalīti statiskās un dinamiskās bibliotēkās atkarībā no laika, kurā apakšprogrammas tiek ielādētas mērķa lietojumprogrammā. Attiecīgi LIB faili ir statiski saistītas bibliotēkas un DLL faili ir dinamiski saistītas bibliotēkas.
Kas ir DLL?
Dynamic Link Library (plašāk pazīstama kā DLL) ir Microsoft izstrādāta koplietojamas bibliotēkas ieviešana. Tas izmanto paplašinājumus.dll,.ocx vai.drv, un tos izmanto Microsoft Windows un OS / 2 operētājsistēmās..dll izmanto parastie DLL faili.. Ocx paplašinājumu izmanto bibliotēkas, kurās ir ActiveX vadīklas, un.drv paplašinājumu izmanto mantotie sistēmas draiveru faili. DLL faila formāts ir tāds pats kā Windows EXE failiem (Portable Executable files on 32-bit / 64-bit Windows, and New Executable on 16-bit Windows). Tāpēc jebkura koda, datu un resursu kombinācija var būt ietverta DLL failos (tāpat kā EXE failos). Faktiski datu failus ar DLL faila formātu sauc par resursu DLL. Ikonu bibliotēkas (ar paplašinājumu.icl) un fontu faili (ar paplašinājumiem.fon un.fot) ir resursu DLL piemēri.
Komponenti, kurus sauc par sadaļām, veido DLL, un katrai sadaļai ir savi atribūti, piemēram, tikai lasāms / rakstāms un izpildāms / neizpildāms. Kodu sadaļas ir izpildāmas, bet datu sadaļas nav izpildāmas. Kodu sadaļas tiek koplietotas, un datu sadaļas ir privātas. Tas nozīmē, ka visos procesos, izmantojot DLL, tiks izmantota tā pati koda kopija, savukārt katram procesam būs sava datu kopija. Galvenā Windows dinamiskā bibliotēka ir kernel32.dll, kas satur Windows pamata funkcijas (ar failiem un atmiņu saistītās funkcionalitātes). COM (Component Object Model) ir DLL paplašinājums līdz OOP (Object Oriented Programming). Parastos DLL ir vieglāk izmantot nekā COM failus.
Kas ir LIB?
LIB faili ir statiskas bibliotēkas (pazīstamas arī kā statiski saistītas bibliotēkas). LIB failos ir apakšprogrammu, ārējo funkciju un mainīgo kolekcija. LIB faili tiek atrisināti kompilēšanas laikā (atšķirībā no izpildes laika). Kods faktiski tiek kopēts mērķa lietojumprogrammā. Kompilators, saistītājs vai saistviela veiks šo izšķirtspēju un izveidos objekta failu un izpildāmo failu. Šo procesu sauc par statisko veidošanas procesu.
Kāda ir atšķirība starp DLL un LIB?
LIB bibliotēkas var izsaukt kompilēšanas laikā, bet DLL bibliotēkas var izsaukt tikai izpildes laikā. LIB faili ir ievērojami lielāki nekā DLL faili. Ļoti izplatīta DLL failu problēma ir versiju problēma. Tas notiek, kad tiek mainīts DLL kods un lietojumprogramma izmanto nepareizu DLL versiju. Šī nav problēma, kas saistīta ar LIB failiem. Runājot par atkārtotu lietošanu, rakstot jaunas sistēmu versijas vai pilnīgi jaunas lietojumprogrammas, DLL vienmēr ir labāki nekā LIB.