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

动态库加载的问题

    来源: 互联网  发布时间:2015-03-29

    本文导语:  请问一下: 我自己编写了一个动态库,名字mylib.so 存放路径为/home/mellven/mylib.so 并修改“动态链接库的配置文件”(/etc/ld.so.conf): …… /home/mellven …… 使用ldconfig -v,打印出来的动态库中没有mylib.so 是不是必须...

请问一下:

我自己编写了一个动态库,名字mylib.so
存放路径为/home/mellven/mylib.so
并修改“动态链接库的配置文件”(/etc/ld.so.conf):
……
/home/mellven
……

使用ldconfig -v,打印出来的动态库中没有mylib.so

是不是必须是以lib开头的动态库才能被加入系统默认搜索路径?
那如果我一定要将非lib开头的动态库加载进系统默认搜索路径,该怎么做呢?
谢谢英雄们!!!

|
首先你要明白ldconfig是为/etc/ld.so.conf里边指定的路径下的所有so(共享库)生成运行时的cache及/usr/lib,/lib下的符号连接(这些被称为动态库依赖)。
而这个符号连接名同原有的库名是不一样的。
这个符号连接名是在编译时传给ld的一个参数指定的,如:
    gcc -o mylib.so --share -soname=mylib.so.1 mylib.c
如果没有指定,那么即使ld.so.conf中有mylib.so的路径,ldconfig也不会生成/usr/lib下的符号连接mylib.so.1。这时,你也不用担心,你可以自己做一个/usr/lib下的符号连接,然后在gcc中指定-l。
最后最直接的办法直接加-L/home/mellven -lmylib 并将mylib.so该名为libmylib.so.

从之上可以看出ldconfig其实是为了让动态库方便的实现不同版本的切换,不被版本号困扰。
比如 如果指定mylib.so.1为soname,1代表版本。那么当你重新编译mylib.so,指定mylib.so.2为soname后,ldconfig之后,/usr/lib/mylib.so.2还是指向最新的mylib.so而,/usr/lib/mylib.so.1也指向了最新的2.0版本。这样保证以前所写的使用1.0的程序不会出现找不到库的问题。

    
 
 

您可能感兴趣的文章:

  • Linux下c函数dlopen实现加载动态库so文件代码举例
  • 可执行程序加载动态库 和 动态库加载动态库 的动态库初始化的问题
  • Linux下指定运行时加载动态库路径及shell下执行程序默认路径
  • 请教一下Linux的动态库加载方式(是启动加载还是运行加载?)
  • driver的静态加载和动态加载占用内存问题
  • 动态加载动态库问题--在线等
  • 问个动态库加载的问题
  • linux下获取动态库的加载路径
  • so 动态加载库 Hotpatch
  • jquery为动态加载的元素绑定事件的代码
  • AIX加载非lib动态库问题
  • 如何在程序中动态的加载并且调用另一个编译好的函数?
  • 动态加载网络驱动程序问题
  • Unix/Linux动态库的链接和加载的问题
  • mingw中怎么加载动态链接库管理命令
  • 08048000 是加载动态库的开始地址,还是程序开始运行的地址
  • 求助:硬盘动态加载问题
  • Linux中动态加载模块的功能是如何实现的?
  • 获取linux下动态库加载时的绝对路径
  • 请问加载动态snmpd扩展模块时使用的命令#./snmpd –f –L –DXXX,DLmod参数的含义是什么?
  • 怎么动态加载模块(*.so)?
  • 程序发布的问题(动态连接库的问题)
  • 最菜的问题—关于linux“动态库”的问题
  • 关于断线重拨和动态域名的问题
  • 关于动态库的问题,谢谢!
  • linux动态路由问题
  • 一个动态库的小问题,在线等~~~
  • 与动态库有关得问题!
  • Linux动态库编译问题
  • 【急】动态库问题请教
  • 求RADIUS的动态分配IP的问题(利用IPPOOL)
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 动态库调用动态库
  • linux动态链接库里全局变量和静态变量会导致动态库不可重入吗?
  • linux能否成为动态域名解析客户端的动态域名解析服务器?
  • 关于动态菜单项,注意,不是动态菜单(一定给分)
  • Linux下,怎么确定动态库的绝对位置(动态库里面确定)?
  • 为什么动态生成的图片,JSP不能动态的获得
  • 请问:能不能动态的运行时生成对象(动态定义对象), 要涉及到哪些技术, 反射,序列化...??
  • C#实现动态显示及动态移除图片方法
  • 静态库,动态库,静态链接和动态链接
  • 在linux下(c++),如何动态调用 动态库(.so)? 为什么我编译报错:undefined reference to "dlopen"
  • JSP动态缓存 JimStoneCache
  • 怎么调试unix动态库.
  • 如何调用动态
  • 动态编译与静态编译驱动程式疑问?
  • 内核与动态(共享)库
  • linux能否成为动态域名解析客户端的动态域名解析服务器? iis7站长之家
  • 动态库中的变量(全局和自动变量)在什么地方存储,内存在什么位置分配?
  • gdb调试动态链接库
  • Jquery动态控制鼠标位置(层的动态显示与隐藏动画)
  • 如何将动态可执行文件打包为静态


  • 站内导航:


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

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

    浙ICP备11055608号-3