Ich erstelle eine DLL, die Funktionsargumente exportiert, die in der Anwendung verwendet werden, die die DLL lädt.DLL - Wie Funktionsargumente exportieren?
An diesem Punkt sieht meine Fortschritte wie folgt aus:
class PlayerAPI {
public:
PlayerAPI() {}
void SetPlayerPosition(float x, float y, float z);
};
class WorldAPI {
public:
WorldAPI() {}
void Print(std::string message);
};
class API {
API() {}
public:
static API & Get()
{
static API instance;
return instance;
}
PlayerAPI player;
WorldAPI world;
};
__declspec(dllexport) void OnModuleLoad(API * api) {
api->world.Print("Test module loaded");
}
Wie ich Funktion exportieren können Anrufe in App verwendet werden, die die DLL lädt? Grundlegend muss die App als eine Antwort von OnModuleLoad
bekommen, die die APP verwenden und den Befehl für sich selbst tun wird.
Die Sache ist es muss übergeben die Funktionen als Argumente in der App verwendet werden, die die DLL verwenden wird. In einer DLL wird es eine virtuelle API geben, in der Anwendung wird die volle API sein. –