VS生成dll和lib以及调用


前言

VS生成dll和lib文件,以及如何调用,是基本的技能,这次对这个做一下总结。建议先深入理解一下什么是dll和lib文件,可以参考这篇博客


一、生成dll和lib

属性->配置属性->常规->配置类型,这里有选项,可以生成dll和lib文件。
在这里插入图片描述

方式1

直接在这里生成lib文件,但是只产生一个.lib文件,并且比较大,因为它包含了库代码的一份完整拷贝,相当于lib和dll的全部功能(所以这样再生成dll,已经显得有点多余了),这种生成的lib文件,在被调用时必须放在一起编译后才能正常运行。这样很不方便,毕竟我们想的是在更新了库之后,直接替换dll就行,不用再次编译

方式2

生成dll库,同时附带生成lib,这样才是我们想看到的,也即更新了库之后,直接替换dll就行,不用再次编译
1.导出类:这里的Cdll就是类名,或者称之为你接口所在的类名,注意要加DLL_API 哦

#ifdef DLL_EXPORTS
#define DLL_API __declspec(dllexport)
#else
#define DLL_API __declspec(dllimport)
#endif
 
// 导出类
class DLL_API Cdll {
public:
    Cdll(void);
    // TODO: 在此添加您的方法。
};

2.导出函数:

DLL_API int fun(int m);

这里附带讲一下,VS生成DLL没有产生lib,可以添加def文件
在工程上右键 -> 添加 -> 新建项 -> 选"模块定义文件(.def)" -> 随便输入个名字 -> 添加
这个方法我试过,但是好像不太行…生成的dll和lib都有问题…

二、调用dll和lib

1.添加路径:属性->配置属性->VC++目录>库目录
在这里插入图片描述
2.添加库名称:属性->配置属性->链接器>输入

在这里插入图片描述
这里,不要忘记配置头文件的路径

三、测试

1.方式1生成的,那就直接配置lib所在的路径以及名称,然后把生成的exe文件以及lib文件放到一个文件夹下,测试exe文件是否成功运行,这里,你可以尝试把lib文件去掉,你会发现去掉了lib文件,exe依然能够运行~~,这明显好像不太符合我们的需求
2.如果是按照方式2生成的,那么在配置lib的路径和名称后,将生成的exe文件以及dll文件放在一个文件夹下,测试exe文件是否成功运行,如果缺失dll文件就会报错,这个才是我们真正需要的效果
在这里插入图片描述

总结

总结了一下VS生成dll和lib的方式以及调用方式,后续有新的发现再补充~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值