Biblioteca de legături dinamice (DLL) este tradusă din engleză ca „bibliotecă de legături dinamice”. O DLL este un fișier executabil care îndeplinește funcțiile unei biblioteci partajate. Prin legarea sa dinamică, DLL oferă o modalitate de a apela o funcție care face parte din codul executabil.
Codul funcției executabile în sine se află într-un DLL, care conține mai multe funcții compilate, legate și stocate în procesele utilizate. DLL servește la simplificarea procesului de partajare a surselor și a datelor. Permite aplicațiilor instalate pe sistem să acceseze mai multe conținuturi ale unei singure copii a DLL-ului încărcat în memorie în același timp.
Codificare modulară - strămoșul DLL-urilor
Începutul lucrărilor privind crearea unui DLL poate fi considerat apariția unei astfel de metode de programare ca codare modulară. La un moment dat, codarea modulară a facilitat foarte mult munca programatorilor, făcând posibil să nu scrieți același cod pentru fiecare program nou de mai multe ori. Toate programele simple conțin o mulțime de coduri similare, pe care au început să le proiecteze sub formă de module, adăugându-le la noi aplicații. Pentru o vreme, codarea modulară a fost cea mai simplă și mai eficientă soluție și a avut un singur dezavantaj. Module identice adăugate la programe ocupau spațiu pe disc, care era rar în acele zile.
Problema pierderii de spațiu pe disc pe module identice era singura, în timp ce existau doar sisteme de operare cu o singură sarcină. Odată cu apariția sistemelor de operare multitasking, cum ar fi Windows, a apărut o altă problemă. Acum, programele cu module cu același cod, când au fost lansate simultan, au început să le încarce în RAM, „consumând” toate resursele. Este demn de remarcat faptul că la acel moment, un modul de memorie de 500 megabyte era cel mai mare din existență și era destul de scump. Dar chiar și dimensiunea maximă a memoriei RAM nu a salvat utilizatorii, programele au încărcat memoria RAM complet, făcând imposibilă funcționarea normală a computerului.
Apariția DLL-urilor
S-a găsit o soluție decentă la aceste probleme, arăta astfel: modulele cu același cod au încetat să se ancoreze cu programul principal, salvându-le într-un fișier executabil separat, care putea fi accesat de orice aplicație după cum este necesar. Această soluție este baza DLL-urilor care se leagă dinamic de orice program. Acum este posibil să stocați codul executabil în aceste biblioteci sub formă de funcții sau proceduri, grafică și chiar videoclipuri, ceea ce a făcut posibilă economisirea spațiului pe disc și a resurselor RAM.
Singurul dezavantaj al bibliotecilor de legături dinamice este pierderea de timp suplimentar încărcând programul. În plus față de acest dezavantaj minor, DLL constă doar din avantaje. Prin urmare, aceste biblioteci sunt utilizate pe scară largă și sunt utilizate de programatori în aproape fiecare aplicație.