什么是 .so 文件?
.so 是 “Shared Object” 的缩写,是 Linux 和其他类 Unix 系统中用于动态链接的共享库文件。它类似于 Windows 系统中的 .dll 文件。
.so 文件的作用
- 允许多个程序共享同一份代码,节省内存和磁盘空间。
- 便于程序更新:只需替换 .so 文件,无需重新编译整个程序。
- 支持插件机制和模块化设计。
如何生成 .so 文件?
使用 GCC 编译器可以轻松创建 .so 文件:
gcc -shared -fPIC -o libexample.so example.c
其中:
-shared表示生成共享库。-fPIC表示生成位置无关代码(Position Independent Code),这是共享库所必需的。
常见 .so 文件命名规范
通常遵循如下格式:lib{name}.so.{version},例如:
libc.so.6libm.so.6libpthread.so.0
如何查看 .so 文件依赖?
可使用 ldd 命令查看一个可执行文件或 .so 文件所依赖的共享库:
ldd /bin/ls