Una DLL è una libreria di collegamento dinamico. È una raccolta di codice e / o dati, che può essere utilizzata da diverse applicazioni (o altre librerie / moduli).
Quindi, ad esempio, i metodi comuni per elaborare i file, lavorare con i componenti della GUI, ecc. Sono resi disponibili nelle librerie in modo che diverse applicazioni possano utilizzare la stessa funzionalità. Ciò non solo riduce la necessità di creare più volte le stesse cose, ma garantisce anche che, ad esempio, le finestre di dialogo comuni siano le stesse tra le applicazioni.
Le librerie possono essere caricate in fase di esecuzione e quindi condivise tra diverse applicazioni simultanee. Questo è chiamato collegamento dinamico.
In alcuni casi la libreria può essere inclusa all'interno dell'applicazione stessa. Questo è noto come collegamento statico. Il collegamento statico semplifica la distribuzione a scapito della flessibilità in quanto un'applicazione diversa caricherà ciascuna la stessa copia della DLL.
Tuttavia, il collegamento statico non è sempre un'opzione. Ad esempio, non è possibile collegare staticamente un'applicazione .NET. L'utente deve disporre delle librerie .NET per eseguire un'applicazione .NET e le librerie (o gli assembly come vengono chiamati in .NET) vengono caricati in fase di esecuzione.
Le DLL vengono create dagli stessi strumenti utilizzati per creare applicazioni. I dettagli specifici dipendono molto dagli strumenti utilizzati.