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; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
2021-05-12 有动画效果的 CheckBox
2021-05-12 Qt 交换Layout中的QWidget控件位置
2021-05-12 c++ 使用WinHTTP实现文件下载功能
2021-05-12 C++ 程序崩溃时生成Dump文件
2021-05-12 windows下qt程序崩溃后自动将程序拉起来
2021-05-12 VC 为静态控件添加事件
2021-05-12 [c++]TRACE 宏的利用