Forskjellen Mellom DLL Og LIB

Forskjellen Mellom DLL Og LIB
Forskjellen Mellom DLL Og LIB

Video: Forskjellen Mellom DLL Og LIB

Video: Forskjellen Mellom DLL Og LIB
Video: ДЕДОВЩИНА в АРМИИ 2024, April
Anonim

DLL mot LIB

Et bibliotek er en samling ressurser som kan brukes til å utvikle applikasjoner. Et bibliotek består vanligvis av underrutiner, funksjoner, klasser, verdier og typer. Under koblingsprosessen (vanligvis utført av en linker) refererer biblioteker og kjørbare filer til hverandre. Biblioteksfiler er delt inn i statiske og dynamiske biblioteker, avhengig av når subrutinene lastes inn i målapplikasjonen. Følgelig er LIB-filer statisk koblede biblioteker og DLL-filer er dynamisk koblede biblioteker.

Hva er DLL?

Dynamic Link Library (mer kjent som DLL) er en implementering av delt bibliotek utviklet av Microsoft. Den bruker utvidelsene.dll,.ocx eller.drv, og de brukes i Microsoft Windows og OS / 2-operativsystemer..dll brukes av de vanlige DLL-filene. Og.ocx-utvidelsen brukes av biblioteker som inneholder ActiveX-kontroller, og.drv-utvidelsen brukes av eldre systemdriverfiler. DLL-filformatet er det samme som Windows EXE-filer (bærbare kjørbare filer på 32-bits / 64-biters Windows, og nye kjørbare på 16-biters Windows). Derfor kan enhver kombinasjon av kode, data og ressurser være inneholdt i DLL-filer (akkurat som i EXE-filer). Faktisk kalles datafiler med DLL-filformat ressurs-DLLer. Ikonbiblioteker (med.icl-utvidelse) og fontfiler (med.fon- og.fot-utvidelser) er eksempler på ressurs-DLLer.

Komponenter som kalles seksjoner utgjør en DLL, og hver seksjon har sine egne attributter som skrivebeskyttet / skrivbar og kjørbar / ikke kjørbar. Kodeseksjoner kan kjøres, mens dataseksjoner ikke kan kjøres. Kodedelene deles og dataseksjoner er private. Det betyr at alle prosesser som bruker DLL vil bruke den samme kopien av koden, mens hver prosess vil ha sin egen kopi av dataene. Det primære dynamiske biblioteket for Windows er kernel32.dll, som inneholder basisfunksjonene (fil- og minnerelatert funksjonalitet) på Windows. COM (Component Object Model) er utvidelsen av DLL til OOP (Object Oriented Programming). Konvensjonelle DLLer er enklere å bruke enn COM-filer.

Hva er LIB?

LIB-filer er statiske biblioteker (også kjent som statisk koblede biblioteker). LIB-filer inneholder en samling underrutiner, eksterne funksjoner og variabler. LIB-filer løses ved kompileringstid (i motsetning til kjøretid). Koden kopieres faktisk inn til målapplikasjonen. En kompilator, kobler eller et bindemiddel vil gjøre denne oppløsningen og produsere en objektfil og en kjørbar fil. Denne prosessen kalles statisk byggeprosess.

Hva er forskjellen mellom DLL og LIB?

LIB-biblioteker kan kalles i løpet av kompileringstiden, men DLL-biblioteker kan bare kalles i løpet av kjøretiden. LIB-filer er betydelig større enn DLL-filer. Et veldig vanlig problem med DLL-filer er versjonsproblemet. Dette skjer når koden til DLL endres og applikasjonen bruker en feil versjon av en DLL. Dette er ikke et problem knyttet til LIB-filer. Når det gjelder gjenbruk, når du skriver nye versjoner av systemer eller helt nye applikasjoner, er DLL alltid bedre enn LIB.

Anbefalt: