Exportieren aus einer DLL
Das Layout einer DLL-Datei ähnelt dem einer EXE-Datei. Ein wichtiger Unterschied besteht jedoch darin, dass eine DLL-Datei über eine Exporttabelle verfügt. Die Exporttabelle umfasst die Namen aller Funktionen, die von der DLL in andere ausführbare Dateien exportiert werden. Die Funktionen sind Einstiegspunkte in die DLL. Andere ausführbare Dateien können nur auf die in der Exporttabelle genannten Funktionen zugreifen. Alle weiteren Funktionen in der DLL sind privat, d. h. ausschließlich auf die DLL bezogen. Die Exporttabelle einer DLL kann angezeigt werden, indem das DUMPBIN-Tool mit der /EXPORTS-Option verwendet wird.
Es gibt zwei Methoden zum Exportieren von Funktionen aus einer DLL:
Erzeugen Sie eine Moduldefinitionsdatei (.def), und verwenden Sie beim Erstellen der DLL diese DEF-Datei. Verwenden Sie diese Methode, wenn Sie Funktionen aus einer DLL über die Ordnungszahl statt über den Namen exportieren möchten.
Verwenden Sie das Schlüsselwort
__declspec(dllexport)
in der Funktionsdefinition.
Wenn Sie Funktionen mit einer dieser beiden Methoden exportieren, sollten Sie darauf achten, die __stdcall-Aufrufkonvention zu verwenden.
Wie möchten Sie vorgehen?
Exportieren aus einer DLL mithilfe von „__declspec(dllexport)“
Exportieren von C++-Funktionen zur Verwendung in ausführbaren C-Dateien
Exportieren von C-Funktionen zur Verwendung in ausführbaren C- oder C++-Dateien
Exportieren von Funktionen aus einer DLL über die Ordnungszahl statt über den Namen