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: 5 pokazatelja da je vrijeme za psihoterapiju 2024, Studeni
Anonim

DLL vs LIB

Knjižnica je skup resursa koji se mogu koristiti za razvoj aplikacija. Knjižnica se obično sastoji od potprograma, funkcija, klasa, vrijednosti i tipova. Tijekom procesa povezivanja (obično ga radi povezivač), biblioteke i izvršne datoteke međusobno se referenciraju. Datoteke biblioteke dijele se na statičke i dinamičke biblioteke ovisno o vremenu u kojem se potprogrami učitavaju u ciljnu aplikaciju. Sukladno tome, LIB datoteke su statički povezane biblioteke, a DLL datoteke su dinamički povezane biblioteke.

Što je DLL?

Dynamic Link Library (poznatija kao DLL) implementacija je zajedničke biblioteke koju je razvio Microsoft. Koristi ekstenzije.dll,.ocx ili.drv i one se koriste u operativnim sustavima Microsoft Windows i OS/2..dll koriste obične DLL datoteke. Ekstenziju.ocx koriste biblioteke koje sadrže ActiveX kontrole, a ekstenziju.drv koriste datoteke naslijeđenih upravljačkih programa sustava. Format DLL datoteke isti je kao Windows EXE datoteke (prijenosne izvršne datoteke na 32-bitnim/64-bitnim Windowsima i nove izvršne datoteke na 16-bitnim Windowsima). Stoga, bilo koja kombinacija koda, podataka i resursa može biti sadržana u DLL datotekama (baš kao u EXE datotekama). Zapravo, podatkovne datoteke s DLL formatom datoteke nazivaju se izvorni DLL-ovi. Knjižnice ikona (s ekstenzijom.icl) i datoteke fontova (s ekstenzijom.fon i.fot) primjeri su DLL-ova resursa.

Komponente koje se nazivaju odjeljci čine DLL i svaki odjeljak ima svoje vlastite atribute kao što su samo za čitanje/zapisivanje i izvršni/neizvršni. Sekcije koda su izvršne, dok sekcije podataka nisu izvršne. Dijelovi koda su zajednički, a podaci 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 (funkcionalnost vezanu uz datoteke i memoriju) u sustavu Windows. COM (Component Object Model) je proširenje DLL-a na OOP (Object Oriented Programming). Konvencionalne DLL datoteke lakše je koristiti od COM datoteka.

Što je LIB?

LIB datoteke su statičke biblioteke (poznate i 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). Kôd se zapravo kopira u ciljnu aplikaciju. Kompajler, povezivač ili povezivač izvršit će ovo rješenje i proizvesti objektnu datoteku i izvršnu datoteku. Ovaj proces se naziva statički proces izgradnje.

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

LIB biblioteke mogu se pozvati tijekom vremena prevođenja, ali DLL biblioteke mogu se pozvati samo tijekom vremena izvođenja. LIB datoteke znatno su veće od DLL datoteka. Vrlo čest problem s DLL datotekama je problem s verzijama. To se događa kada se kod DLL-a promijeni i aplikacija koristi pogrešnu verziju DLL-a. Ovo nije problem povezan s LIB datotekama. Što se tiče ponovne upotrebe, kada pišete nove verzije sustava ili potpuno nove aplikacije, DLL-ovi su uvijek bolji od LIB-ova.

Preporučeni: