共享对象文件(以 .so 为扩展名)是一种主要用于 Linux 及其他类 Unix 操作系统中的动态链接库。与在编译时链接到程序中的静态库不同,共享对象是在程序执行时的运行时被加载到内存中的。这种机制允许多个程序共享同一份库代码,从而显著减小了可执行文件的总体积并节省了磁盘空间。此外,共享对象可以在不重新编译依赖程序的情况下进行独立更新,这使得修复漏洞和增强功能变得更加便捷。动态链接器(通常为 ld-linux.so)负责解析依赖关系,并将必要的共享对象加载到程序的地址空间中。共享对象包含已编译的代码、数据以及重定位信息,这些信息使动态链接器能够将代码和数据正确地放置在内存中。它们是 Linux 系统的基础组件,为管理代码重用和依赖关系提供了一种模块化且高效的方式。