Dynamisk linkbibliotek

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 30. november 2020; checks kræver 3 redigeringer .

DLL ( engelsk  Dynamic Link Library  - "dynamic link library", "dynamic link library") i Microsoft Windows og IBM OS / 2 operativsystemer  er et dynamisk bibliotek , hvor programmer kan gemme funktioner, variabler osv. Disse biblioteker har normalt udvidelse DLL, OCX (for biblioteker, der indeholder ActiveX ) eller DRV (for en række systemdrivere ). Filformatet for DLL'er er det samme som for Windows EXE-filer, dvs. Portable Executable ( PE ) til 32-bit og 64-bit Windows-applikationer og New Executable ( NE ) til 16-bit. Ligesom EXE'er kan DLL'er indeholde sektioner af kode, data og ressourcer. I Unix -systemer udføres lignende funktioner af såkaldte delte objekter . 

Datafiler med samme format som en DLL, men med en anden udvidelse eller kun indeholder en ressourcesektion, kan kaldes ressource-DLL'er. Eksempler omfatter ikonbiblioteker, nogle gange med filtypenavnet .icl , og skrifttypefiler, som har filtypenavnene .fon og .fot .

Udnævnelse

Oprindeligt blev det antaget, at introduktionen af ​​DLL ville tillade effektiv organisering af hukommelse og diskplads ved kun at bruge én forekomst af biblioteksmodulet til forskellige applikationer. Dette var især vigtigt for tidlige versioner af Microsoft Windows med stramme hukommelsesgrænser.

Yderligere skulle det forbedre effektiviteten af ​​udvikling og brug af systemværktøjer på grund af modularitet. Udskiftning af DLL -programmer fra en version til en anden skulle give systemet mulighed for at vokse uafhængigt uden at påvirke applikationer. Derudover kunne dynamiske biblioteker bruges af forskellige typer applikationer - for eksempel Microsoft Office , Microsoft Visual Studio osv.

Senere voksede ideen om modularitet til konceptet Component Object Model og System Object Model .

Faktisk er de fulde fordele ved at implementere dynamiske linkbiblioteker ikke opnået på grund af et fænomen kaldet DLL-helvede ("DLL-helvede"). DLL helvede opstår, når flere applikationer kræver forskellige, ikke fuldt kompatible versioner af biblioteker på samme tid, hvilket fører til nedbrud i disse applikationer og konflikter, hvilket drastisk reducerer den overordnede pålidelighed af operativsystemer. Senere versioner af Microsoft Windows begyndte at tillade parallel brug af forskellige versioner af DLL'er ( Side-by-side assembly technology ), hvilket ophævede fordelene ved det oprindelige modularitetsprincip.

Der er også en række værktøjer, der giver dig mulighed for at spore applikationsafhængigheder på plug-in DLL'er. For eksempel see_dll fra Microsoft Visual Studio .

Links