读书人

关于打包dll

发布时间: 2013-04-07 12:50:11 作者: rapoo

关于封装dll
今天项目让把做好的东西按给定的接口封装成dll,我没接触过封装,不懂这个概念,是要把每个类和头文件封装成dll文件,还是把项目里的类和头文件生成一个dll文件?求科普,或者给出链接我自己去学习,实在百度不到要的答案。还有生成之后,main函数里还写#include <头文件>吗
还有怎样生成dll 和使用 最好能有详细点的步骤或者资料
[解决办法]
就是把里面具体功能的函数搬到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 <string>

class ABCAPI classname
{ …… }
在abc.cpp文件开始从 添加:
#define DLL_EXPORT

最后编译。成功的话,在工程目录 Debug文件目录下会生成相应的*.lib 和 *.dll文件。

我是在同一个solution下建的两个project。
调用的话,我用的是隐式链接, 需要把abc.h文件放到调用的工程头目录下,并在程序中#include<abc.h>下

不知说清楚了么
有不准确的地方,欢迎指正哈。
[解决办法]
有关联的没必要分开,都放在一个DLL就行
分开是自找麻烦,要做很多调用接口

读书人网 >C++

热点推荐