什么是 .so 文件?

Joh*_*itt 68 linux ubuntu-9.10

我在 ubuntu 下遇到 Flash 问题,打算尝试升级到 Flash 10.1 的 Alpha 版本。

问题是它是一个 .so 文件,我找不到任何关于它是什么的信息。

And*_*gan 86

.so 文件是编译后的库文件。它代表“共享对象”,类似于 Windows DLL。

通常,包文件会在安装时将它们放在 /lib 或 /usr/lib 或类似的地方。如果将 .so 文件解压缩到 $LD_LIBRARY_PATH 中的某个位置,则需要该库的程序应该能够使用它。

理想情况下,请阅读随附的文档以确保它位于正确的位置。

如果您locate adobe-flashplugin从终端运行类似命令,您可能会看到一些现有的同名库。

  • 除非 Ubuntu 的处理方式与其他 Linux 动态链接器完全不同,否则动态链接器不会搜索路径 ($PATH),而是搜索一组固定的路径以及 $LD_LIBRARY_PATH 中指定的目录。有关更多详细信息,请参阅 ld.so 和 ldconfig 的手册页。 (2认同)

小智 13

可以创建两种 Linux C/C++ 库类型。这些是静态库 (.a)动态链接的分片对象库 (.so)

当谈到(.so) 时,这个库只有一种形式,但它可以以两种方式使用。

1) 在运行时动态链接但静态感知。这些库必须在编译/链接阶段可用。共享对象不包含在可执行组件中,但与执行相关联。

2) 使用动态链接加载器系统功能在执行期间动态加载/卸载和链接(即浏览器插件)。

通常,安装时包文件会将“.so”文件放在 /lib 或 /usr/lib 中。