当前位置:  技术问答>linux和unix

关于程序启动加载so文件的问题

    来源: 互联网  发布时间:2016-01-27

    本文导语:  编译时我用的是gcc -l,但是程序运行时偏偏加载lib.so.,为什么后面会多出一个版本号阿? | 其实可能是同一个文件。你ls -l看一下是否链接文件。类似这样: lrwxrwxrwx    1 root root       16...

编译时我用的是gcc -l,但是程序运行时偏偏加载lib.so.,为什么后面会多出一个版本号阿?

|
其实可能是同一个文件。你ls -l看一下是否链接文件。类似这样:
lrwxrwxrwx    1 root root       16 Nov  9  2006 libpcap.so -> libpcap.so.0.8.1
lrwxrwxrwx    1 root root       16 Nov  9  2006 libpcap.so.0 -> libpcap.so.0.8.1

上面的例子,libpcap.so 和libpcap.so.0都是指到同一个文件libpcap.so.0.8.1,后者才是真正的库文件,之所以建一些链接,是为了便于程序链接,这样就不会依赖于具体的版本号。

|
楼上说的没错, 这些都是建的link文件, 方便程序连接用.

|
可以看看共享库几个名称直接的关系:
soname搜名:lib+库名+.so+version
如libtest.so.1

实名 搜名+.+子版本号+.+发布号 如libtest.so.1.0.1

搜名通常是实名符号连接。
连名 linkername 通常是没有任何版本号名称,如libtest.so

因此,程序运行时候,找的是搜名。用lDD可以看到依赖的是搜名。

    
 
 

您可能感兴趣的文章:

  • Linux下指定运行时加载动态库路径及shell下执行程序默认路径
  • 可执行程序加载动态库 和 动态库加载动态库 的动态库初始化的问题
  • 动态加载网络驱动程序问题
  • 在Unix下怎么做一个系统一启动就加载的程序?
  • usbhid妨碍了系统自动加载我的usb驱动程序,求教解决 (主要是加载后设备的驱动被认作usbhid)
  • Java加载JDBC驱动程序实例详解
  • 如何在程序中动态的加载并且调用另一个编译好的函数?
  • 请问如何设置才能在linux启动时自动加载其他应用程序?
  • .so文件被程序加载后,不停止程序,可否更新.so文件?
  • 08048000 是加载动态库的开始地址,还是程序开始运行的地址
  • 有没有什么办法能够查询到某个内核模块程序加载之后的运行情况?
  • 如何设置web.xml文件来加载服务程序
  • 请问linux启动时自动加载的程序一般是放在哪些文件中的?
  • 如何将Oracle数据库驱动程序加载到classpath中?
  • 弱弱的问:编译一小程序时加载arch时出现的一个小问题
  • 请问如果要让uclinux一启动就加载我的应用程序,应该怎么设置呢?谢谢了
  • 请问:我想让配置文件变更后,发一个信号,从而让守护进程重新加载配置,程序思路大约是怎样的啊?
  • 一个项目有多个so,某个so会加载同目录的另一个,如何在程序中设置路径?
  • 很奇怪:fedora 8 用rc.local自动加载设备驱动程序失败?
  • 把网卡驱动程序模版编译成模块加载进内核时出错?
  • 程序动态加载时怎样传递参数?
  • Ubuntu程序开机自动启动设置(服务和自动运行配置文件)的几种方法
  • 关于系统变量,开机启动程序,和定时启动程序
  • 请问Linux如何象Windows 那样把我的程序放到启动里面,登录后启动我的程序
  • 怎么在HP11.00平台启动时运行一个程序,就是让该程序随系统启动,麻烦各位教我,谢谢了!
  • 请问Linux如何象Windows 那样把我的程序放到启动里面,登录后启动我的程序
  • 紧急问题:我启动一个java程序之后用ps一看,为和显示我启动了多个程序?然后我kill-9第一个pid之后,又全部没了
  • 板卡程序自启动和在用户模式下启动反差比较大
  • 怎样设置应用程序随linux启动而启动!
  • 为什么我在java程序里启动的一个程序在java程序关闭后,该程序的所有进程都关掉了
  • 为什么我的Linux系统拔掉网线后启动程序启动的非常慢?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • http协议介绍,文件上传分析及程序举例
  • 请教高手一个简单问题:给定一个文件名,如何去查找该文件正在被几个程序使用,并怎么样才可以切断这个文件与正在打开该文件的程序之间的
  • Linux下c/c++开发之程序崩溃(Segment fault)时内核转储文件(core dump)生成设置方法
  • 在程序建立的文件夹里,程序自己无法创建文件?
  • 我的程序是用c写的gtk+程序,有个函数的参数要传给它图片的文件名,但是图片和原程序不在同一目录下怎么办?怎么在程序里指定文件的路径
  • 求几个完整的Java程序,什么内容的程序都行,要包含工程文件和全部源文件,主要用于学习,发者就给分。
  • 用jbuilder开发的程序,其中用到了xylayout,将应用程序做成了jar文件,运行jar文件时,提示错误。请大家多帮忙
  • 请问用JB7编译过的JAVA程序,哪一个文件是可执行程序啊?我怎么找不到啊?不是CLASS文件吧。双击他直接把JB7打开了。
  • Linux下的程序是在内存中运行的吗?为什么在程序运行的时候可以删除程序文件?
  • 执行一程序,向一个文本文件中写入数据,报文件大小超出限制错误!
  • 请问怎么在C程序中得到该可执行程序的文件名???
  • 怎样才能得到Redhat8.0支持的所有打印机的驱动程序列表文件,我程序里要用。先谢过
  • 不让用户选择文件,程序指定本地文件,Java可以实现上传到服务器吗?
  • 在JSP文件中如何用程序指定,其它Frame载入文件???
  • 想找一个java 做的文件下载程序(最好用URL类吧),那位有这方面的程序或代码?100分必送
  • 请教:在程序中创建文件夹,应该用什么函数?怎么判断文件夹存不存在呢?
  • Linux下写服务程序,程序可以使用配置文件动态链接库吗?
  • ftp连接下无法删除程序生成的文件(cache文件)
  • 我自己写了个程序 程序依赖很多的动态联接库 如何发布这些库文件
  • 请问在jsp中如何实现相对路径?我在jsp文件中指定相对路径的文件,可是程序找不到!
  • 哪位大哥知道如何将rtf文件转化成html文件,请赐教,最好给个程序看看!多谢,多谢,120分奉上!!!
  • 重装服务器后IIS网站错误(应用程序中的服务器错误)
  • Linux 编程怎么样在程序开启一个程序,和关闭一个程序?
  • windows server2008上PowerBuilder程序系统错误解决方法
  • 请问从一个java程序中如何调用另一java程序,并控制可以其状态(最小化、最大化、结束程序),还有怎样知道那个被调用的程序结束。
  • c语言判断某一年是否为闰年的各种实现程序代码
  • 为什么linux下的C++程序这么少见? 请问那里有linux下的C++程序?什么类型的程序都可以.
  • 程序员的八种级别,你属于哪一级?
  • 我写了个linux下的网络程序,程序在多个电脑间通信,但是我没有多个电脑,怎么调试这样的程序啊?
  • 在docker容器中通过apt-get安装新的程序
  • 在java控制台程序中,可以用System.exit(0);使用一个程序终止,那么在servlet中如何使一个servlet程序终止呢?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3