函数指针对象 并使用QLibrary类方法resolve()来链接.dll文件中的函数"/>
QT中创建函数指针对象 并使用QLibrary类方法resolve()来链接.dll文件中的函数
更新:连续调用dll函数时程序会崩溃,暂未解决。现已回归WINAPI的方法,暂时放弃使用QLibrary类。WINAPI配置dll方法见
例如在my.dll文件有这样一个函数
int add(int x, int y);
在QT中可以这样使用这个函数:
首先需要将.dll文件放入.exe所在的文件夹下,然后再按照这种形式去写:
#include <QLibrary>
using Fun = int (*)(int x, int y);//创建一个函数指针类型,利用Fun可以创建指向该形式的函数的指针对象
int main()
{QLibrary myDll("my.dll");myDll.load();//加载dllif(myDll.isLoaded())//如果加载成功{Fun open = (Fun)myDll.resolve("add");//将add这个函数的指针传递给新创建的Fun对象openopen(3,5);//同add(3,5)}
}
更多推荐
QT中创建函数指针对象 并使用QLibrary类方法resolve()来链接.dll文件中的函数
发布评论