C++封装DLL,导出一个类
2016-08-03 16:16
176 查看
1.首先:建一个DLL工程,win32项目–DLL–确定;
在新建的项目中添加.h文件,在头文件中定义要导出的类:
2.添加相应的.cpp文件,完成实现:
3.编译源文件(快捷键F7),在../CWordSegment/Debug目录下生成DLL的两个最终要的文件:
CWordSegment.dll
CWordSegment.lib
就此,DLL就搞好了.
4.关于如何调用这个lib文件的问题:
建一个测试工程控制台应用程序,然后把上面生产的库文件加进来,可以用相对路径也可以用绝对路径,这个随便,在这里本人是将和测试用的.h和.cpp文件放到同一个目录下。
一般相对路径加入的方法:
属性–>链接器–>常规–>附加依赖项 加入lib库名称
然后就是把导出类和测试用的.h和.cpp文件放到同一个目录下,添加.cpp文件在main()中调用封装类完成整个测试功能。
在新建的项目中添加.h文件,在头文件中定义要导出的类:
class _declspec(dllexport) CWordSegment { public: CWordSegment(); ~CWordSegment(); bool CWordSegmentInit(); char *CWordSegmentResolve(); };
2.添加相应的.cpp文件,完成实现:
#include "CWordSegment.h" #include CWordSegment::CWordSegment() { printf("CWordSegment constructed /n"); } CWordSegment::~CWordSegment() { printf("CWordSegment disconstructed /n"); } bool CWordSegment::CWordSegmentInit() { printf("CWordSegmentInit /n"); return true; } char* CWordSegment::CWordSegmentResolve() { printf("CWordSegmentResolve /n"); return NULL; }
3.编译源文件(快捷键F7),在../CWordSegment/Debug目录下生成DLL的两个最终要的文件:
CWordSegment.dll
CWordSegment.lib
就此,DLL就搞好了.
4.关于如何调用这个lib文件的问题:
建一个测试工程控制台应用程序,然后把上面生产的库文件加进来,可以用相对路径也可以用绝对路径,这个随便,在这里本人是将和测试用的.h和.cpp文件放到同一个目录下。
一般相对路径加入的方法:
属性–>链接器–>常规–>附加依赖项 加入lib库名称
然后就是把导出类和测试用的.h和.cpp文件放到同一个目录下,添加.cpp文件在main()中调用封装类完成整个测试功能。
相关文章推荐
- C++封装DLL,导出一个类
- C# 发中调用一个采用C++封装好的dll, 其结构体中的二维数转换
- 将MFC 中的类封装为一个Dll并导出
- dll中导出一个类.导出模板STL.vector,遭遇的警告.
- 封装了一个发邮件的dll,支持附件,HTML
- C++做一个真正动态链接的DLL的做法
- dll的导出和导入的一个小技巧(让dll的代码文件和调用者代码文件共享一个头文件)
- 用DEF文件从DLL导出一个类的方法
- 怎样从一个DLL中导出一个C++类
- 一个导出CListCtrl控件数据到Excel文件的封装函数[r]
- 请赐教:用C++做一个DLL在VB中调用,要传递的是一个数组
- 这些天很忙,写一个类似防火墙的东西在WINSOCK2 SPI上做DLL,终于把问题解决了,现提供完整C++项目下载
- 关于封装--一个有趣的C++例子
- vb动态加载dll的一个类,实现vb动态加载dll并动态调用dll导出的函数的一个方便办法
- C#调用C++编写的COM DLL封装库的问题解决方案
- 封装了一个发邮件的dll,支持附件,HTML
- 一个简单封装用户命令的C++程序
- C#与DLL和COM的混合编程(1)-C#调用C++写的非托管的DLL中导出的函数
- [c++]一个对MSXML的封装类 使用C++的Smart Pointer 对MSXML DOM封装,可以方便地访问xml文件
- C++ Null Object模式在DLL中导出失败的困惑