如何在程序中用显式加载的方式使用DLL中的导出类
发布网友
发布时间:2023-12-25 12:34
我来回答
共1个回答
热心网友
时间:2024-03-03 17:47
这个好像不行啊,最少你需要知道类或函数的声明啊。
无论dll中导出函数或是类。
也无论你是使用隐式调用或是显示调用dll中的函数,你都需要先知道函数声明,否则一切都是无用的。只不过是函数声明由dll工程移到了调用这个dll的工程。
你说对不对。
如果要显示调用dll中导出的类,可以通过如下方法实现。
DLL中:
class A//此类不用导出。
{
...
};
A* create_instance()//应该定义为导出函数。
{
return new A();
}
//调用DLL的工程
A* (*ptrAInst)();
loadlibrary(...);//具体函数参见不同操作系统的编程手册
ptrAInst = getprocaddress(“create_instance”);//具体函数参见不同操作系统的编程手册
...//处理某些工作
freelibrary(...);//工作处理完后释放,具体函数参见不同操作系统的编程手册