【发布时间】:2013-07-29 09:53:34
【问题描述】:
我必须在Windows下通过LoadLibrary和GetProcAddress动态加载libxml2的DLL接口。我使用的所有函数指针都正确加载,除了 xmlFree。
xmlFree 不是一个普通的 DLL 导出,而是一个函数指针。因此,“xmlFree”上的 GetProcAddress 将返回一个指向 xmlFree 函数指针的指针。
typedef void (*LibXmlFree) (void* mem);
LibXmlFree xmlFree = GetProcAddress( hModule, "xmlFree" );
这样会成功,但是调用这个函数会失败,因为 xmlFree 没有指向真正的函数。
如何创建指向 DLL 的 xmlFree(void*) 导出的正确指针?
【问题讨论】: