我的问题是我想创建一个通用命令行应用程序,可用于加载库DLL,然后调用库DLL中的函数.函数名称在命令行中指定,参数也在实用程序命令行中提供.
我可以从使用该LoadLibrary()函数动态加载的DLL访问外部函数.一旦加载了库,我就可以获得一个指向函数的指针,GetProcAddress()我希望用命令行中指定的参数调用该函数.
我可以将一个void-pointer-list传递给函数指针,该函数指针是由LoadLibrary()类似下面示例的函数返回的?
为了简化示例代码,我删除了错误检查.有没有办法让这样的工作:
//Somewhere in another dll
int DoStuff(int a, int b)
{
return a + b;
}
int main(int argc, char **argv)
{
void *retval;
void *list = argv[3];
HMODULE dll;
void* (*generic_function)(void*);
dll = LoadLibraryA(argv[1]);
//argv[2] = "DoStuff"
generic_function = GetProcAddress(dll, argv[2]);
//argv[3] = 4, argv[4] = 7, argv[5] = NULL
retval = generic_function(list);
}
如果我忘记提及必要的信息,请告诉我.提前致谢