Win32日记之 动态库 静态库 静态链接

本文详细介绍了静态库和动态库的区别与应用方式。静态库直接嵌入到程序中,导致生成的exe文件体积较大。动态库分为静态加载和动态加载两种方式,前者需要将dll文件置于exe目录下,后者通过API函数实现加载与卸载。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

静态库 以lib为后缀 当程序需要的时候使用#program comment(lib," lib_Name") 来进行引用并且要在VS 工程里面设定库目录 ,或者不使用命令直接点工程里面的Link ->input

添加你所需要的静态库;静态库是直接把代码给嵌入程序里的一种技术,特点就是会让生成的exe很大


动态库:又称共享库

动态库 的静态加载:生成动态库时会有dll,lib, h,3个文件 h文件用于客户程序员的一个函数头参考,lib文件只有符号表 没有数据,dll里面才存在数据,如果使用静态加载则需要把dll拷贝到当前exe目录下这也是为什么我们看很多程序目录下会有N多dll文件.或者去系统目录下查找,但是一般我们使用在当前的地方, lib文件用于静态加载我们仍然像静态库一样的使用法则只不过我们多了一个dll;


动态加载:

当没有lib文件的时候就需要动态加载注意动态加载的时候是不能加载类的,我们可以直接把动态库房在目录下然后提供一个H文件给客户程序员使用,程序员使用需要三部曲

1获取一个dll的实例句柄更加的像加载到内存, 返回一个实例句柄如果失败返回null Loadlibary(dll名称)

2.获取这块内存里的指定函数      返回当前函数地址 GetProcAddress 

3.使用完释放 Freelibary(返回的实例句柄);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值