关于网友提出的“ 关于封装dll”问题疑问,本网通过在网上对“ 关于封装dll”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 关于封装dll描述:
今天项目让把做好的东西按给定的接口封装成dll,我没接触过封装,不懂这个概念,是要把每个类和头文件封装成dll文件,还是把项目里的类和头文件生成一个dll文件?求科普,或者给出链接我自己去学习,实在百度不到要的答案。还有生成之后,main函数里还写#include <头文件>吗
还有怎样生成dll 和使用 最好能有详细点的步骤或者资料 头文件>
解决方案1:
有关联的没必要分开,都放在一个DLL就行
分开是自找麻烦,要做很多调用接口
我在vs2010上做过
首先,建一个Win32 Project,点下一步Appliacation Settings中的Appliacation Type选项中选择DLL、Additional options选项中选择Empty project,完成。
然后,添加 类所在的头文件和相应的实现文件,比如:abc.h 和 abc.cpp
在abc.h 头文件中添加如下代码:
#ifndef ABC_H
#define ABC_H
#ifdef DLL_EXPORT
#define ABCAPI __declspec(dllexport)
#else
#define ABCAPI __declspec(dllimport)
#endif
//#include "***.h" 包含你所需要的头文件,如:
#include
class ABCAPI classname
{ …… }
在abc.cpp文件开始从 添加:
#define DLL_EXPORT
最后编译。成功的话,在工程目录 Debug文件目录下会生成相应的*.lib 和 *.dll文件。
我是在同一个solution下建的两个project。
调用的话,我用的是隐式链接, 需要把abc.h文件放到调用的工程头目录下,并在程序中#include
不知说清楚了么
有不准确的地方,欢迎指正哈。
就是把里面具体功能的函数搬到DLL中