C++封装DLL,导出一个类

1.首先:建一个DLL工程,win32项目–DLL–确定;
在新建的项目中添加.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++学习笔记)