什么是 静态库[.lib,.a]、动态链接库(共享库)[.dll,.so]

关注微信公众号 老卢私塾


有朋友留言让讲讲操作系统中的动态库的概念,好今天就讲这个。

1.库的作用:

实现将软件代码解耦、重用软件模块的功能

对外提供服务(export),使库中的软件功能模块可被其它软件调用

典型应用:exe调用dll。我们打开windows的系统目录,一堆dll,少量exe就是这个道理。

2.库的分类(形式)

l )静态库:作用是在编译时会打包进exe,只生成一个exe文件

静态库扩展名:windows就是.lib文件,linux就是.a文件

lI) 动态链接库(共享库):与exe是独立的2个文件,不会被编译进exe,而是exe调用动态库中的软件模块.

动态库扩展名: windows就是.dll文件, linux就是.so文件

3.衍生技术:

黑客技术之一 钩子技术(hook),钩子技术的软件载体就是dll动态库文件,代码替换或叫代码劫持

原文链接:,转发请注明来源!