概述
平时都没写东西的习惯,现在开始从事软件开发工作,觉得遇到问题的时候写点总结蛮好的,便于以后备忘并提醒自己别犯同样的错误。
在最近的项目中主要碰到一下几个问题:
1.qt调用其他编译器编译得到的动态库文件.dll中库函数问题;
2.回调函数在自定义类中实现需要定义为类的静态成员函数问题;
3.类的静态成员函数(还是回调函数时),怎样调用类的非静态成员问题;
4.多线程中,不同线程间如何实现相互通信问题;
问题1简答:
qt类库中QLibrary就是用于解决qt调用动态库.dll问题,假设有一动态库文件为dllName.dll,其中有一库函数为 int add(int x,int y);
加载动态库及获得库函数函数指针代码如下:
#include ...
typedef int (*AddFunc)(int x,int y);//定义函数指针类型
AddFunc subAdd = NULL;//定义函数指针变量
int main(int argc,char *argv[])
{
QApplication app(argc,argv);
QLibrary dllLib("dllName.dll");
if(!dllLib.load())
{
return -1;
}
else
{
subAdd = (AddFunc)dllLib.resolve("add");
if(subAdd == NULL)
{
return -1;
}
else
{
最后
以上就是糊涂小猫咪为你收集整理的Qt学习之---项目实战的全部内容,希望文章能够帮你解决Qt学习之---项目实战所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复