我在寻找堆积如山的问题,但没有人回答我的问题。我有一个游戏引擎,我想在运行时加载player AI (用c++编写)。
AI可以是一种方法,也可以是整个类,这并不重要。我认为我应该生成.dll,但我不知道如何做到这一点。这个类应该如下所示:
class PlayerAI
{
void computeSomething(list of argument, Object& output)
{
// some logic
}
}发布于 2015-10-06 14:24:20
假设是纯Windows平台,因为没有指定-
如果您想注入DLL,首先使用LoadLibrary-函数获得它的句柄,如下所示:
HINSTANCE handleLib;
handleLib = LoadLibrary(TEXT("YourDLL.dll")); 然后,您可以获得一个指向库中特定函数的函数指针。如下所示:
FUNC_PTR func;
func = (FUNC_PTR) GetProcAddress(handleLib, "yourFunc");然后,您可以像这样调用该函数:
(func) (L"TESTSTRING HERE"); 完成后,调用FreeLibrary(libhandle)
例如,如何在VS中声明导出的函数(这是在预编译的DLL中标记函数所必需的:
__declspec(dllexport) int __cdecl yourFunc(LPWSTR someString)
{
//Code here...
}https://stackoverflow.com/questions/32972108
复制相似问题