Una libreria di collegamento dinamico o DLL , consente a un'applicazione di caricare solo il codice eseguibile minimo necessario in memoria in fase di esecuzione . Ogni volta che il programma chiama una funzione in una DLL , il sistema operativo carica la DLL in memoria secondo le specifiche del programmatore . Fino a quando il programma in esecuzione non fa riferimento a una funzione di DLL , la DLL non deve occupare spazio . Ciò consente di risparmiare risorse e aumenta le prestazioni di runtime. Se la libreria fosse statico , tutto il codice della libreria saranno allegati al codice eseguibile del programma principale , e il programma di gigante avrebbe dovuto rimanere nella memoria per tutta la fase di esecuzione . La versione Unix o Linux di una DLL di Windows è una libreria oggetto condiviso che è costruito con l'estensione SO . Windows, Unix e Linux hanno convenzioni specifiche per accedere alle funzioni di DLL o librerie condivise . Istruzioni 
 Esportazione Oggetti Windows DLL utilizzando preprocessore chiave 
 1 
 Nel file di intestazione DLL , mettere il " __declspec ( dllexport ) " parola chiave prima che il prototipo di una funzione , di classe , membro della classe o variabile di dati nella DLL . Questa parola chiave si aggiunge la funzione di prototipo alla tabella di esportazione della DLL. 
 2 
 Utilizzare valori ordinali da 1 a N al posto dei nomi dei membri di funzione o di classe per risparmiare spazio occupato dalla tabella di esportazione della DLL , dove N è il numero di oggetti o funzioni nella DLL . 
 3 
 Aggiungi la " __declspec (dllimport ) " parola chiave prima delle corrispondenti prototipi di funzione del programma chiamante o DLL . La chiamata importazioni programma le funzioni che le esportazioni DLL. 
 Esportare le funzioni DLL di Windows tramite un modulo Definition File 
 4 
 Creare un file di testo con l' estensione DEF e aggiungerlo . al progetto per la DLL in Visual Studio 
 5 
 aggiungere l'istruzione "LIBRERIA " con il nome della DLL dopo che è il seguente: 
 
 BIBLIOTECA ReportWriter 
 
 6 
 Opzionalmente aggiungere una breve descrizione di una riga per la DLL come segue : 
 
 dESCRIZIONE si tratta di una DLL per la funzionalità di generazione di report in MyProduct 
 
 Questo è consigliato 
 . . Pagina 7 
 Aggiungi una voce per ogni funzione o membro della classe che la DLL vuole esportare , con un numero cardinale opzionale . Il numero cardinale rappresenta la funzione e assume valori da 1 a N , dove N è il numero di funzioni esportate dalla DLL . Ecco un esempio : 
 
 RPT_init 1RPT_design @ @ @ 2RPT_run 3RPT_print @ 4 
 
 Dopo aver collegato tutte le sorgenti e il file DEF , il compilatore crea un file di esportazione con l'estensione EXP e un file di libreria di importazione , con l'estensione LIB . Il compilatore utilizza il file EXP per creare la DLL . Il file LIB è legata al programma chiamante e contiene le informazioni di importazione per le funzioni nella DLL .