Skillnaden mellan DLL och LIB

Skillnaden mellan DLL och LIB
Skillnaden mellan DLL och LIB

Video: Skillnaden mellan DLL och LIB

Video: Skillnaden mellan DLL och LIB
Video: Presens particip och perfekt particip (vad är skillnaden?) SFI 2024, Juli
Anonim

DLL vs LIB

Ett bibliotek är en samling resurser som kan användas för att utveckla applikationer. Ett bibliotek består vanligtvis av subrutiner, funktioner, klasser, värden och typer. Under länkningsprocessen (vanligtvis utförd av en länkare), refererar bibliotek och körbara filer till varandra. Biblioteksfiler är indelade i statiska och dynamiska bibliotek beroende på den tidpunkt då subrutinerna laddas till målapplikationen. Följaktligen är LIB-filer statiskt länkade bibliotek och DLL-filer är dynamiskt länkade bibliotek.

Vad är DLL?

Dynamic Link Library (mer känd som DLL) är en implementering av delat bibliotek utvecklad av Microsoft. Den använder tilläggen.dll,.ocx eller.drv och de används i operativsystemen Microsoft Windows och OS/2..dll används av vanliga DLL-filer. Och tillägget.ocx används av bibliotek som innehåller ActiveX-kontroller och tillägget.drv används av äldre systemdrivrutinsfiler. DLL-filformatet är detsamma som Windows EXE-filer (bärbara körbara filer på 32-bitars/64-bitars Windows och Ny körbar på 16-bitars Windows). Därför kan vilken kombination av kod, data och resurser som helst finnas i DLL-filer (precis som i EXE-filer). Faktum är att datafiler med DLL-filformatet kallas resurs-DLL. Ikonbibliotek (med.icl-tillägg) och teckensnittsfiler (med.fon- och.fot-tillägg) är exempel på resurs-DLL:er.

Komponenter som kallas sektioner utgör en DLL och varje sektion har sina egna attribut som skrivskyddad/skrivbar och körbar/icke-körbar. Kodsektioner är körbara, medan datasektioner inte är körbara. Kodsektionerna är delade och datasektionerna är privata. Det betyder att alla processer som använder DLL kommer att använda samma kopia av koden, medan varje process kommer att ha sin egen kopia av data. Det primära dynamiska biblioteket för Windows är kernel32.dll, som innehåller basfunktionerna (fil- och minnesrelaterad funktionalitet) på Windows. COM (Component Object Model) är en förlängning av DLL till OOP (Object Oriented Programming). Konventionella DLL-filer är lättare att använda än COM-filer.

Vad är LIB?

LIB-filer är statiska bibliotek (även kända som statiskt länkade bibliotek). LIB-filer innehåller en samling subrutiner, externa funktioner och variabler. LIB-filer löses vid kompileringstid (i motsats till körtid). Koden kopieras faktiskt in i målapplikationen. En kompilator, länkare eller en bindare kommer att göra denna upplösning och producera en objektfil och en körbar fil. Denna process kallas statisk byggprocess.

Vad är skillnaden mellan DLL och LIB?

LIB-bibliotek kan anropas under kompileringstiden, men DLL-bibliotek kan endast anropas under körtiden. LIB-filer är betydligt större än DLL-filer. Ett mycket vanligt problem med DLL-filer är versionsproblemet. Detta händer när koden för DLL ändras och programmet använder en felaktig version av en DLL. Detta är inte ett problem förknippat med LIB-filer. När det gäller återanvändbarhet, när man skriver nya versioner av system eller helt nya applikationer är DLL:er alltid bättre än LIB:er.

Rekommenderad: