ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

VS中创建和使用c++的dll动态库(转)

2022-05-12 10:34:07  阅读:193  来源: 互联网

标签:ICalc const int VS dll myCalc c++ calc


新建一个作为动态库的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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有