.so 是 “Shared Object” 的缩写,是 Linux 和 Unix 类操作系统中常见的动态链接库文件格式。
一、.so 文件的作用
在程序运行时,.so 文件允许多个程序共享同一份代码,从而节省内存和磁盘空间。它类似于 Windows 系统中的 .dll(Dynamic Link Library)文件。
二、常见命名规则
libxxx.so:标准共享库名称,如libc.so、libm.solibxxx.so.1、libxxx.so.1.2.3:带版本号的共享库,用于兼容不同版本
三、如何查看 .so 文件信息
可以使用以下命令查看 .so 文件的依赖和属性:
ldd your_program # 查看程序依赖的 .so 文件
file libexample.so # 查看文件类型
objdump -T libexample.so # 查看导出符号
四、与 Windows .dll 的对比
| 系统 | 动态库扩展名 |
|---|---|
| Linux / Unix | .so |
| Windows | .dll |
| macOS | .dylib |
五、总结
.so 文件是 Linux 开发和运行环境中不可或缺的一部分,理解其作用有助于排查程序依赖问题、优化系统性能以及进行底层开发。