Beim Exportieren von Funktionen aus einer DLL wird häufig die Direktive __declspec(dllexport) verwendet. Aber wie exportieren und laden wir ganze C-Klassen dynamisch?
Das direkte Laden einer Klasse mit LoadLibrary() ist normalerweise nicht möglich. Stattdessen stehen zwei Ansätze für die dynamische Verknüpfung mit einer Klasse zur Verfügung:
Erstellen Sie eine Factory-Funktion, um Objekte zu instanziieren, und verwenden Sie Assembler, um sie anschließend mit den Offsets der DLL zu verknüpfen Laden der DLL dynamisch. Dieser Ansatz wird hier ausführlich erläutert: [C-Objekte dynamisch aus DLLs laden](https://www.codeproject.com/Articles/18878/Dynamically-loading-objects-from-DLLs).
Verwenden Sie eine Verzögerungslade-DLL, die das dynamische Laden einer DLL und ihrer Exporte zur Laufzeit ermöglicht. Allerdings ist diese Methode möglicherweise nicht auf allen Plattformen verfügbar.
Für die Verknüpfung zur Kompilierzeit können Sie entweder:
Das obige ist der detaillierte Inhalt vonHier sind einige Titeloptionen, die das Frageformat und den Inhalt des Artikels berücksichtigen: **Kurz & Direkt:** * **Wie exportiere und lade ich C-Klassen dynamisch aus einer DLL?** * **Spät-. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!