关于网友提出的“ 菜鸟问:请问如何使用dll导出类中的函数,需要动态加载”问题疑问,本网通过在网上对“ 菜鸟问:请问如何使用dll导出类中的函数,需要动态加载”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 菜鸟问:请问如何使用dll导出类中的函数,需要动态加载描述:
如题,希望能够使用导出类中的成员函数,可是用
LoadLibrary
GetProcAddress
似乎都达不到这个目的。
别敲我:只知道这几个东西,VC新手,非常感谢大家。
解决方案1:
// load library
HMODULE hLib = LoadLibrary ("xxx.dll");
AClass* pClassPtr = (AClass*)malloc(sizeof(AClass));
// load constructor
PCONSTRUCTOR pConstructorProc = (PCONSTRUCTOR)GetProcAddress(hLib, "AClass");
//call the constructor
__asm { MOV ECX, pClassPtr}
pConstructorProc();
// load xxx func
PXXXFUNC pFunc = (PXXXFUNC) GetProcAddress (hLib, "XXXFunc");
// call xxx func
__asm { MOV ECX, pCCalc }
pFunc();
学习
解决方案3:可以导出一个类的实例指针啊
解决方案4:http://msdn2.microsoft.com/en-us/library/d5fzd0ek(VS.80).aspx
解决方案5: 导出类的成员函数,只适用与MFC Extended DLL
GetProcAddress只适用于Regular DLL转出函数, 即只适用于有标准c转出的函数.显然,类或类函数的转出并不适用.