Collegamento di un eseguibile a una DLL
Aggiornamento: novembre 2007
Un file eseguibile si collega o carica una DLL in uno dei due modi seguenti:
Il collegamento implicito viene talvolta definito caricamento statico o collegamento dinamico in fase di caricamento. Il collegamento esplicito viene invece definito caricamento dinamico o collegamento dinamico in fase di esecuzione.
Con il collegamento implicito, l'eseguibile che utilizza la DLL si collega a una libreria di importazione (file lib) fornita dal creatore della DLL. Il sistema operativo carica la DLL quando viene caricato l'eseguibile che la utilizza. L'eseguibile client chiama le funzioni esportate della DLL come se fossero contenute nell'eseguibile.
Con il collegamento esplicito, l'eseguibile che utilizza la DLL deve effettuare delle chiamate di funzione per caricare e scaricare esplicitamente la DLL e per accedere alle funzioni esportate della DLL. L'eseguibile client deve chiamare le funzioni esportate tramite un puntatore a funzione.
Un eseguibile può utilizzare la stessa DLL con entrambi i metodi di collegamento. Questi meccanismi non si escludono a vicenda, poiché un eseguibile può collegarsi a una DLL in modo implicito mentre un altro può connettersi a essa in modo esplicito.