动态链接库-共享对象-共享库-ShareObject-SO-dll
梗概:
- 其实就相当于程序的依赖模块, 用来被其他模块或可执行程序引用
- 相对的是静态链接库
- Linux下的拓展名为so,windows下的拓展名为dll
- Dynamic Link Library属于运行时库
- DLL对外暴露的接口遵循某种调用约定
- 函数的话,通常是cdecl
适用范围
- C语言
实例:
概念
- 用C语言编译出来的应用程序
main.exe和main2.exe,都需要依赖动态链接库lib.dll - 当运行
main.exe的时候,lib.dll就会加载到内存中,供main.exe调用 - 当再同时运行
main2.exe时,因为lib.dll已经加载到内存中了,所以直接和main.exe共享同一个lib.dll动态链接库