动态库
文章平均质量分 65
yongqingjiao
这个作者很懒,什么都没留下…
展开
-
Linux动态链接库搜索路径问题
动态库的搜索路径搜索的先后顺序是:(1).编译目标代码时指定的动态库搜索路径(-Wl,-rpath 指定);(2).环境变量LD_LIBRARY_PATH指定的动态库搜索路径;(3).配置文档/etc/ld.so.conf中指定的动态库搜索路径;(4).默认的动态库搜索路径/lib;(5).默认的动态库搜索路径/usr/lib.转载 2017-12-06 07:11:44 · 463 阅读 · 0 评论 -
gcc中的-Wl,rpath=<your_lib_dir>选项
gcc编译链接动态库时,很有可能编译通过,但是执行时,找不到动态链接库,那是因为-L选项指定的路径只在编译时有效,编译出来的可执行文件不知道-L选项后面的值,当然找不到。可以用ldd 看看是不有 ‘not found’在你链接的库后面,解决方法是通过-Wl,rpath=,使得execute记住链接库的位置转载 2017-12-06 07:14:17 · 398 阅读 · 0 评论 -
linux下so动态库一些不为人知的秘密(上)
出处: http://blog.chinaunix.net/uid-27105712-id-3313293.htmllinux 下有动态库和静态库,动态库以.so为扩展名,静态库以.a为扩展名。二者都使用广泛。本文主要讲动态库方面知识。 基本上每一个linux 程序都至少会有一个动态库,查看某个程序使用了那些动态库,使用ldd命令查看 # ldd /b转载 2017-12-06 08:06:53 · 609 阅读 · 0 评论 -
linux下so动态库一些不为人知的秘密(中)
我们知道linux链接so有两种途径:显示和隐式。所谓显示就是程序主动调用dlopen打开相关so;这里需要补充的是,如果使用显示链接,上篇文章讨论的那些问题都不存在。首先,dlopen的so使用ldd是查看不到的。其次,使用dlopen打开的so并不是在进程启动时候加载映射的,而是当进程运行到调用dlopen代码地方才加载该so,也就是说,如果每个进程显示链接a.so;但是如果发布该程序时候忘记转载 2017-12-06 08:13:30 · 620 阅读 · 0 评论 -
linux静态库和动态库编译及使用
1 代码样例[cpp] view plain copy /**************************************************************************/ /*add.c*/ int add(int x, int y) { return x + y; return 0; } /*********转载 2017-12-06 08:17:40 · 239 阅读 · 0 评论