Qt 创建DLL 与Ex e 交互 这俩天研究下qt 下Dll。 首先我们创建一个库的工程。选择 Other Project -> C++ Library Next 后进入选择库类型界面,默认是“”。在红色区域更改项目名称。 下个界面选择编译器,直接 Next 默认选择的是QtCore,如果你的Dll 有图形界面,则需要QtGui,需要访问数据库QtSql,依次类推。当然,创建通用的库,就不需要选择了。 下个界面 直接 Next ,这样工程就创建成功了。 但是个人建议吧这里默认生成的头文件更改一下。然后再加一个同名的cpp 在编写之前我们应该看以下.pro 文件以确认我们的工程是否正确 绿色区域:提供的是项目名称也是Dll 生成后的名字。 蓝色区域:说明了生成的是库文件,而非.Exe 文件 红色区域:给定了库生成的目录。 灰色区域:给定了外部宏定义,这里定义的是库德宏。 紫色区域:是库的依赖文件。 首先我们应该编写对外接口。即Iuserglobal.h 我们会看到这样几句,不要管他把“”复制出来因为我们,写库函数需要用到。 然后,我们该写我们的接口了。 写接口的时候要按照“复用”,“需求”,“封装”3 个特性进行封装接口。 复用:指的是你写的接口不是针对某一个工程,而是针对某一类功能而进行封装。 需求:写出来的接口必须能够满足,使用 DLL 的需求,提供的功能要少,但是要全。 I 封装:这个封装并不是Dll 自带的封装特性,而是在写接口的时候要注意,不要把Dll里的成员提供出去。而只是提供对应功能。(这里说一下,提供一个成员,还不如写一个类来的方便,做 DLl的 意义就没有了。) 好了 开始写我们的接口吧。 第一, 我们要确认,对 DLL 的需求。是否可以操作,DLL 是否需要通知给调用者。 第二, 我们要确认,我们的DLL 属于的类型,比如界面 DLL,功能 DLL 等等。 第三, 我们的DLL,有几个默认的库函数。(建议越少越好) 就啰嗦到这里了。 开始吧。我的DLL 功能显示一个界面所以我给预留的操作接口是(下图) 本着见名知意的原则,要是看不懂就别继续看了。 然后需要用我的DLL 通知调用者,我的处理状态,所以需要创建一个通告接口。 方法同上。 这样我们的接口预留的就可以了。(对于我的程序足够了) 在这里需要说一下,接口是根据的你的程序需求而定,并非统一规格。 做完这些,我们就可以,把一个简单库函数添加进来了 根据格式,返回操作接口,接受通告接口。 接下来,实现我们的DLL 功能...