Dynamiskt länkbibliotek

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 30 november 2020; kontroller kräver 3 redigeringar .

DLL ( Engelska  Dynamic Link Library  - "dynamic link library", "dynamic link library") i Microsoft Windows och IBM OS / 2 operativsystem  är ett dynamiskt bibliotek där program kan lagra funktioner, variabler etc. Dessa bibliotek har vanligtvis extension DLL, OCX (för bibliotek som innehåller ActiveX ) eller DRV (för ett antal systemdrivrutiner ). Filformatet för DLL-filer är detsamma som för Windows EXE-filer, det vill säga Portable Executable ( PE ) för 32-bitars och 64-bitars Windows-program och New Executable ( NE ) för 16-bitars sådana. Precis som EXE-filer kan DLL-filer innehålla delar av kod, data och resurser. I Unix- system utförs liknande funktioner av så kallade delade objekt . 

Datafiler med samma format som en DLL men med ett annat tillägg eller som bara innehåller en resurssektion kan kallas resurs-DLL. Exempel inkluderar ikonbibliotek, ibland med tillägget .icl , och teckensnittsfiler som har tilläggen .fon och .fot .

Utnämning

Inledningsvis antogs det att introduktionen av DLL skulle möjliggöra effektiv organisation av minne och diskutrymme, genom att endast använda en instans av biblioteksmodulen för olika applikationer. Detta var särskilt viktigt för tidiga versioner av Microsoft Windows med snäva minnesgränser.

Vidare var det tänkt att förbättra effektiviteten i utveckling och användning av systemverktyg på grund av modularitet. Att ersätta DLL- program från en version till en annan var tänkt att tillåta systemet att växa självständigt utan att påverka applikationer. Dessutom kan dynamiska bibliotek användas av olika typer av applikationer - till exempel Microsoft Office , Microsoft Visual Studio , etc.

Senare växte idén om modularitet till konceptet Component Object Model och System Object Model .

I själva verket har de fulla fördelarna med att implementera dynamiska länkbibliotek inte uppnåtts på grund av ett fenomen som kallas DLL-helvetet ("DLL-helvetet"). DLL-helvetet uppstår när flera applikationer kräver olika, inte helt kompatibla versioner av bibliotek samtidigt, vilket leder till krascher i dessa applikationer och konflikter, vilket drastiskt minskar den övergripande tillförlitligheten hos operativsystem. Senare versioner av Microsoft Windows började tillåta parallell användning av olika versioner av DLL -filer ( Side-by-side assembly technology ), vilket förnekade fördelarna med den ursprungliga modularitetsprincipen.

Det finns också ett antal verktyg som låter dig spåra programberoende på plugin-DLL:er. Till exempel see_dll från Microsoft Visual Studio .

Länkar