Razlika između DLL-a i LIB-a

Razlika između DLL-a i LIB-a
Razlika između DLL-a i LIB-a

Video: Razlika između DLL-a i LIB-a

Video: Razlika između DLL-a i LIB-a
Video: МРТ позвоночника: ловушки методики 2024, Juli
Anonim

DLL vs LIB

Biblioteka je zbirka resursa koji se mogu koristiti za razvoj aplikacija. Biblioteka se obično sastoji od potprograma, funkcija, klasa, vrijednosti i tipova. Tokom procesa povezivanja (koji obično radi povezivač), biblioteke i izvršni fajlovi upućuju jedni na druge. Datoteke biblioteke podijeljene su na statičke i dinamičke biblioteke ovisno o vremenu u kojem se podprogrami učitavaju u ciljnu aplikaciju. Prema tome, LIB datoteke su statički povezane biblioteke, a DLL datoteke su dinamički povezane biblioteke.

Šta je DLL?

Dynamic Link Library (poznatija kao DLL) je implementacija zajedničke biblioteke koju je razvio Microsoft. Koristi.dll,.ocx ili.drv ekstenzije i koriste se u Microsoft Windows i OS/2 operativnim sistemima..dll koriste obične DLL datoteke. I ekstenziju.ocx koriste biblioteke koje sadrže ActiveX kontrole, a ekstenziju.drv koriste datoteke zastarjelih sistemskih drajvera. Format DLL datoteke je isti kao i Windows EXE datoteke (prenosne izvršne datoteke na 32-bitnom/64-bitnom Windowsu i nove izvršne datoteke na 16-bitnom Windowsu). Stoga, bilo koja kombinacija koda, podataka i resursa može biti sadržana u DLL datotekama (baš kao u EXE datotekama). Zapravo, datoteke sa podacima u DLL formatu nazivaju se DLL-ovi resursa. Biblioteke ikona (sa ekstenzijom.icl) i datoteke fontova (sa ekstenzijama.fon i.fot) su primjeri DLL-ova resursa.

Komponente koje se nazivaju sekcije čine DLL i svaka sekcija ima svoje atribute kao što su samo za čitanje/upisivanje i izvršno/neizvršno. Sekcije koda su izvršne, dok sekcije podataka nisu izvršne. Odjeljci koda su zajednički, a podaci su privatni. To znači da će svi procesi koji koriste DLL koristiti istu kopiju koda, dok će svaki proces imati svoju kopiju podataka. Primarna dinamička biblioteka za Windows je kernel32.dll, koja sadrži osnovne funkcije (funkcije vezane za datoteke i memoriju) u Windowsu. COM (Component Object Model) je proširenje DLL-a na OOP (Object Oriented Programming). Konvencionalne DLL datoteke su lakše za korištenje od COM fajlova.

Šta je LIB?

LIB datoteke su statičke biblioteke (također poznate kao statički povezane biblioteke). LIB datoteke sadrže kolekciju potprograma, vanjskih funkcija i varijabli. LIB datoteke se rješavaju u vrijeme kompajliranja (za razliku od vremena izvođenja). Kod se zapravo kopira u ciljnu aplikaciju. Kompajler, linker ili povezivač će napraviti ovu rezoluciju i proizvesti objektnu datoteku i izvršnu datoteku. Ovaj proces se zove statički proces izgradnje.

Koja je razlika između DLL-a i LIB-a?

LIB biblioteke se mogu pozvati tokom vremena kompajliranja, ali DLL biblioteke se mogu pozvati samo tokom vremena izvođenja. LIB datoteke su znatno veće od DLL datoteka. Vrlo čest problem sa DLL datotekama je problem verzioniranja. Ovo se dešava kada se promeni kod DLL-a i aplikacija koristi pogrešnu verziju DLL-a. Ovo nije problem povezan s LIB datotekama. Što se tiče ponovne upotrebe, prilikom pisanja novih verzija sistema ili potpuno novih aplikacija, DLL-ovi su uvijek bolji od LIB-ova.

Preporučuje se: