Razlika Med DLL In LIB

Razlika Med DLL In LIB
Razlika Med DLL In LIB

Video: Razlika Med DLL In LIB

Video: Razlika Med DLL In LIB
Video: 📼 DLL - Динамически загружаемые библиотеки (Win32 API). 2024, November
Anonim

DLL vs LIB

Knjižnica je zbirka virov, ki se lahko uporabljajo za razvoj aplikacij. Knjižnico običajno sestavljajo podprogrami, funkcije, razredi, vrednosti in tipi. Med postopkom povezovanja (ki ga običajno izvede povezovalec) se knjižnice in izvršljivi programi sklicujejo drug na drugega. Datoteke knjižnic so razdeljene na statične in dinamične knjižnice, odvisno od časa, ko se podprogrami naložijo v ciljno aplikacijo. V skladu s tem so datoteke LIB statično povezane knjižnice, datoteke DLL pa dinamično povezane knjižnice.

Kaj je DLL?

Knjižnica dinamičnih povezav (bolj znana kot DLL) je izvedba knjižnice v skupni rabi, ki jo je razvil Microsoft. Uporablja razširitve.dll,.ocx ali.drv in se uporabljajo v operacijskih sistemih Microsoft Windows in OS / 2..dll uporabljajo običajne datoteke DLL. Razširitev.ocx uporabljajo knjižnice, ki vsebujejo kontrolnike ActiveX, razširitev.drv pa stare datoteke sistemskih gonilnikov. Oblika datoteke DLL je enaka kot datoteke Windows EXE (prenosne izvedljive datoteke v 32-bitnem / 64-bitnem sistemu Windows in nove izvršljive datoteke v 16-bitnem sistemu Windows). Zato lahko v datotekah DLL vsebuje kakršno koli kombinacijo kode, podatkov in virov (tako kot v datotekah EXE). Dejansko se podatkovne datoteke z obliko datoteke DLL imenujejo vir DLL. Knjižnice ikon (s pripono.icl) in datoteke pisav (z razširitvami.fon in.fot) so primeri DLL-jev z viri.

Komponente, ki se imenujejo odseki, tvorijo DLL, vsak odsek pa ima svoje atribute, kot so samo za branje / zapisljivi in izvršljivi / neizvršljivi. Odseki kode so izvršljivi, podatkovni odseki pa neizvedljivi. Odseki kode so v skupni rabi, podatkovni odseki pa zasebni. To pomeni, da bodo vsi procesi, ki uporabljajo DLL, uporabljali isto kopijo kode, medtem ko bo imel vsak postopek svojo kopijo podatkov. Primarna dinamična knjižnica za Windows je kernel32.dll, ki vsebuje osnovne funkcije (funkcije, povezane z datotekami in pomnilnikom) v sistemu Windows. COM (komponentni objektni model) je razširitev DLL na OOP (objektno usmerjeno programiranje). Običajne DLL-je je lažje uporabljati kot datoteke COM.

Kaj je LIB?

Datoteke LIB so statične knjižnice (znane tudi kot statično povezane knjižnice). Datoteke LIB vsebujejo zbirko podprogramov, zunanjih funkcij in spremenljivk. Datoteke LIB se rešijo v času prevajanja (v nasprotju s časom izvajanja). Koda se dejansko kopira v ciljno aplikacijo. Prevajalnik, povezovalnik ali povezovalnik bo naredil to ločljivost in ustvaril objektno datoteko in izvršljivo datoteko. Ta postopek se imenuje statični postopek gradnje.

Kakšna je razlika med DLL in LIB?

Knjižnice LIB lahko pokličete med časom prevajanja, knjižnice DLL pa lahko pokličete samo med izvajanjem. Datoteke LIB so bistveno večje od datotek DLL. Zelo pogosta težava z datotekami DLL je težava z različicami. To se zgodi, ko se spremeni koda DLL in aplikacija uporablja napačno različico DLL. To ni težava, povezana z datotekami LIB. Kar zadeva ponovno uporabnost, so DLL pri pisanju novih različic sistemov ali popolnoma novih aplikacij vedno boljši od LIB-jev.

Priporočena: