DLL动态链接库 总结 看了孙鑫老师的书和笔记 自己做了下 小做总结

本文总结了DLL动态链接库的基本概念,包括其相对于静态库的优势,以及两种加载方式:隐式调用和动态加载。对于隐式调用,详细介绍了如何使用_declspec关键字,设置链接库,并在代码中声明函数。而对于动态加载,提到了LoadLibrary和GetProcAddress的使用,以及创建.def文件的方法。
摘要由CSDN通过智能技术生成
DLL动态链接库 总结
看了孙鑫老师的书和笔记 自己做了下 小做总结

DLL  动态库,静态库。动态库节约磁盘空间,静态库体积大。(不是很清楚)
两种加载方式:隐式调用、动态加载。


1.隐式调用  会有两天文件重要:lib、dll
        _declspec(dllexport) 放在出口函数前 在lib中记录  lib和dll都放在当前文件目录下
        在工程/project 设置/setting 常规/general那一条 选连接/link 对象/库模块 XXX.lib  确定就OK了

在文件中对从dll来的函数定义 extern int add(int a,int b);
                extern int subtract(int a,int b);
 这种写法一般不用,可以写成//_declspec(dllimport) int add(int a,int b);
//_declspec(dllimport) int subtract(int a,int b);

如果要写个dll的同文件 用宏取代 _declspec(dllimport)
Dll1.h
#ifdef DLL1_API
#else
#define DLL1_API extern "C" _declspec(dllimport)  //extern "C" C大写 防止名字变
#endifDLL1_API int _stdcall add(int a,int b);
DLL1_API int _stdcall subtract(int a,int b);
Dll1.cpp的代码:
#define DLL1_API extern "C" _
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值