动静态库及动静态链接

本文详细介绍了静态链接库和动态链接库的区别,强调了动态链接库在内存中的共享特性,以及多进程如何共享动态链接库。动态链接库可以在运行时加载,减少内存浪费,但多个进程使用时,每个进程都有自己的数据副本。动态链接库不能直接运行,但通过LoadLibrary等功能可实现进程间通信。
摘要由CSDN通过智能技术生成

动静态库及动静态链接

1        链接在编译过程中的位置


图:编译过程

2        静态链接库

静态连接库就是把(lib)文件中用到的函数代码直接链接进目标程序,程序运行的时候不再需要其它的库文件。特点:代码的装载速度快,执行速度也比较快,因为编译时它只会把你需要的那部分链接进去,应用程序相对比较大。但是如果多个应用程序使用的话,会被装载多次,浪费内存。

3        动态链接库

动态链接就是把调用的函数所在文件模块(DLL)和调用函数在文件中的位置等信息链接进目标程序,程序运行的时候再从DLL中寻找相应函数代码,因此需要相应DLL文件的支持。特点:

1.共享:多个应用程序可以使用同一个动态库,启动多个应用程序的时候,只需要将动态库加载到内存一次即可;注意:在执行过程中,启动多个应用程序,需要在每个应用程序对应的进程空间中都有一份dll副本。

2.开发模块好:要求设计者对功能划分的比较好。

4        静态链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值