Biblioteca de linkuri dinamice

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită la 30 noiembrie 2020; verificările necesită 3 modificări .

DLL ( English  Dynamic Link Library  - „dynamic link library”, „dynamic link library”) în sistemele de operare Microsoft Windows și IBM OS / 2 este o bibliotecă  dinamică în care programele pot stoca funcții, variabile etc. Aceste biblioteci au de obicei extensia DLL, OCX (pentru bibliotecile care conțin ActiveX ) sau DRV (pentru un număr de drivere de sistem ). Formatul de fișier pentru DLL-uri este același cu Windows EXE, adică Portable Executable ( PE ) pentru aplicațiile Windows pe 32 și 64 de biți și New Executable ( NE) - pentru 16 biți. La fel ca EXE, DLL-urile pot conține secțiuni de cod, date și resurse. În sistemele Unix , funcții similare sunt îndeplinite de așa - numitele obiecte partajate . 

Fișierele de date cu același format ca un DLL, dar cu o extensie diferită sau care conțin doar o secțiune de resurse pot fi numite DLL de resurse. Exemplele includ biblioteci de pictograme, uneori cu extensia .icl , și fișiere cu fonturi, care au extensiile .fon și .fot .

Numire

Inițial, s-a presupus că introducerea DLL ar permite organizarea eficientă a memoriei și a spațiului pe disc, folosind o singură instanță a modulului de bibliotecă pentru diferite aplicații. Acest lucru a fost deosebit de important pentru versiunile timpurii ale Microsoft Windows cu limite strânse de memorie.

Mai mult, trebuia să îmbunătățească eficiența dezvoltării și utilizării instrumentelor de sistem datorită modularității. Înlocuirea programelor DLL de la o versiune la alta trebuia să permită sistemului să crească independent, fără a afecta aplicațiile. În plus, bibliotecile dinamice ar putea fi utilizate de diferite tipuri de aplicații - de exemplu, Microsoft Office , Microsoft Visual Studio etc.

Mai târziu, ideea de modularitate a crescut în conceptul de Model Object Component și Model Object System .

De fapt, beneficiile complete ale implementării bibliotecilor de legături dinamice nu au fost atinse din cauza unui fenomen numit DLL hell („DLL hell”). Iadul DLL apare atunci când mai multe aplicații necesită versiuni diferite de biblioteci, care nu sunt complet compatibile în același timp, ceea ce duce la blocări ale acestor aplicații și la conflicte, reducând drastic fiabilitatea generală a sistemelor de operare. Versiunile ulterioare ale Microsoft Windows au început să permită utilizarea în paralel a diferitelor versiuni de DLL -uri ( tehnologia de asamblare side-by-side ), ceea ce a anulat beneficiile principiului original de modularitate.

Există, de asemenea, o serie de utilitare care vă permit să urmăriți dependențele aplicațiilor de DLL-uri plug-in. De exemplu, see_dll din Microsoft Visual Studio .

Link -uri