In C++, ist es möglich für eine DLL auf einige Symbole der Anwendung, die es geladen? Ich habe eine Anwendung, laden Plug-Ins (Dll), und diese Plug-Ins müssen auf einige API der Anwendung zugreifen.eine DLL muss Symbole seiner Anwendung zugreifen
Ist es möglich, dies zu erreichen, ohne eine neue DLL zu erstellen, die diese API teilen?
Ist eine Struktur von Funktionszeigern in dieser Situation geeignet?
Beispiel: Eine bool Log (char *) - Funktion, die in der Host-Anwendung definiert ist, und ein Plug-in, das einige Ereignisse protokollieren muss.
+1, aber ist es eine gute Wahl, eine Plugin-Architektur auf C++ zu erstellen? Das Plugin muss mit dem gleichen C++ Compiler erstellt werden (wenn nicht Version dann mindestens Hersteller). –
Sie können immer "C" öffnen, wenn Sie so geneigt sind - was Sie natürlich auf C-Style-Funktionsschnittstellen beschränkt, aber das ist der Kompromiss. Ich würde COM vorschlagen, aber ich kann das nicht mit einem klaren Gesicht tun :) –