Der Unterschied zwischen LIB's und DLL's ist der, dass der Code einer LIB zu dem Programm dazugelinkt wird, während eine DLL bei der Ausführung des Programmes verwendet wird.
Wenn du VC++ 6.0 verwendest, dann kannst du LIB's und DLL's recht einfach selber erstellen:
1. Menü "Datei" -> "Neu"
2. Im Tab "Projekte" entweder "Win32 Dynamic-Link Library" oder "Win32-Bibliothek (statische)" auswählen
Falls dein Programm, dass die DLL verwenden soll, auf der MFC basiert, kannst du auch den Punkt "MFC-Anwendungs-Assistent (dll)" nehmen, dann kannst du in der DLL recht einfach auf die MFC zugreifen.
Die Verwendung von DLL's und LIB's ist recht einfach. Du brauchst in jedem Fall eine Header-Datei, in der die deklarierten Funktionen usw. enthalten sind.
Bei LIB's brauchst du zusätzlich die kompilierte LIB (logisch
). Bei den DLL's brauchst du die kompilierte DLL und eine LIB. Die LIB ist praktisch eine kleine Bibliothek, die in dein Programm den Code zum Laden der DLL einbindet.
In den Projekt-Einstellungen muss für alle Konfigurationen (Release, Debug, ...) im Tab "C/C++" in der Kategorie "Präprozessor" das Verzeichnis angegeben werden, in dem sich die Heaterdatei befindet. Ausserdem muss im Tab "Linker" in der Kategorie "Allgemein" unterhalb von "Objekt-/Bibliothek-Module" die LIB angegeben werden. Damit die LIB auch noch vom Linker gefunden wird, muss in der Kategorie "Eingabe" als zusätzlicher Bibliothekspfad das Verzeichnis angegeben werden, in der die LIB zu finden ist.
Wer nicht VC++ 6.0 sein eigen nennt und über die Kommandozeile kompiliert und linkt, der muss die folgenden Sachen angeben:
1. beim Kompilieren: /I ".\mylib\include" (Verzeichnis, in der die Headerdatei liegt)
2. beim Linken: mylib.lib (die zu verwendende LIB)
3. beim Linken: /libpath:".\mylib\lib" (Verzeichnis, in der die LIB zu finden ist)
Beim Verwenden der DLL ist genauso zu verfahren. Zusätzlich ist es dann notwendig, dass die DLL für die Anwendung auffindbar ist. Am besten ist es, sie im gleichen Verzeichnis wie die Anwendung zu installieren. Nur wenn mehr als eine Anwendung die gleiche DLL verwendet, sollte man sich einen anderen Platz aussuchen, wobei ich damit nicht den "system32"-Ordnet von Windows meine, da dort schon viel zu viel Mist drin steht.
So, wenn ihr noch Fragen habt, dann fragt ruhig. Ansonsten viel Spass beim Erstellen und Verwenden von LIB's und DLL's.
CU, Ufo.