obj什么意思(怎么会出现obj虚框)

当我们安装共享库并运行ldconfig时,我们通常会看到三个。所以lib/中的文件。所以这里指的是共享对象。Libfoo.so.1.0.0这是一个常规的共享库文

当我们安装共享库并运行ldconfig时,我们通常会看到三个。所以lib/中的文件。所以这里指的是共享对象。

Libfoo.so.1.0.0这是一个常规的共享库文件。该文件可能有多个版本。

lib foo . so-& gt;程序的链接过程中一般使用符号链接libfoo.so.1.0.0。您为linker指定的参数-lfoo是为了查找并链接文件libfoo,所以通常情况下,这总是一个指向特定动态库的符号链接,因为您可能需要在不同版本的库之间切换。

lib foo . so . 1-& gt;符号链接libfoo.so.1.0.0一般在程序运行时使用。每一个。所以会有一个名字。应用程序根据SONAME找到并加载共享库。Libfoo.so.1是一个SONAME。可以通过objdump -p libfoo.so.1.0.0或者readelf -d libfoo.so.1.0.0来查看,对于共享库的编写人员来说,相同SONAME的库应该是互相兼容的。

有些包管理器(比如debian)用不同的包名来代表不同版本的共享库,所以你可以独立安装、卸载和使用特定版本的共享库。

Ldconfig可以根据libfoo.so.1.0.0等共享库文件生成相应的符号链接文件

您可能会遇到以下情况,这将导致崩溃:

app 使用了共享库 liba.so.2 和 libb.so.1libb.so.1 使用了共享库 liba.so.1

如您所见,该程序同时加载不同版本的liba.so。

obj什么意思(怎么会出现obj虚框)

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。

作者:美站资讯,如若转载,请注明出处:https://www.meizw.com/n/199248.html

发表回复

登录后才能评论