VS中创建和使用c++的dll动态库(转)
作者:互联网
新建一个作为动态库的calc项目,包含如下.cpp和.h文件
接口ICalc.h如下:
#pragma once
#define CALC_API _declspec(dllexport)
class CALC_API ICalc
{
public:
//用于创建接口实例
static ICalc* CreateInterface();
public:
//用于求和计算,a,b作为输入
virtual int sum(const int a,const int b) = 0;
};
calc.h作为ICalc接口的派生类,派生ICalc接口定义的计算函数在calc.cpp中实现
calc.h如下:
#include "ICalc.h"
class calc : public ICalc
{
public:
//派生ICalc接口中的sum函数
virtual int sum(const int a,const int b);
};
calc.cpp如下:
#include <stdio.h>
#include "calc.h"
//实现创建一个calc实例
ICalc* ICalc::CreateInterface()
{
return new calc();
}
//计算求和a+b
int calc::sum(const int a,const int b)
{
return a+b;
}
计算的dll动态库实现后,编译生成dll文件和lib文件
然后新建一个myCalc项目,myCalc项目中需要使用该calc.dll动态库
操作步骤:
1.新建myCalc项目后,添加一个main.cpp,然后编译
2.在myCalc项目路径下新建一个include文件夹存放接口ICalc.h文件
3.在myCalc项目路径下新建一个lib文件夹存放calc项目中编译生成的calc.lib文件
4.将calc项目编译生成的calc.dll复制到myCalc项目的输出目录下
calc生成的calc.dll的路径参考下图的输出目录,具体路径看个人怎么配
同理,myCalc的输出目录也是在myCalc项目中的这个地方,具体路径看个人怎么配
5.vs中配置myCalc项目如下
(1)c/c++常规,附加包含目录,添加ICalc.h文件的在myCalc项目的存放路径
(2)链接器常规,附加库目录,将calc.lib在myCalc项目的存放路径添加上
main.cpp如下:
#include <stdio.h>
#include "ICalc.h"
int main()
{
ICalc *myCalc = ICalc::CreateInterface();
printf("a+b=%d",myCalc->sum(1,2));
getchar();
return 0;
}
https://blog.csdn.net/qq_41738624/article/details/122126863
标签:ICalc,const,int,VS,dll,myCalc,c++,calc 来源: https://www.cnblogs.com/xiaohai123/p/16261353.html