Linux 系统上有两类根本不同的 Linux 可执行程序。
- 第一类是静态链接的可执行程序。它们是“完整的”,静态可执行程序不依赖任何外部库就可以运行。
- 第二类则是动态链接的可执行程序,他们在执行时还需要动态地调用其他库,对其他库存在依赖,这样做的好处就是减小了自己程序的大小。而我们要关注的 文件就是一个包含要搜索的动态链接库目录的清单
动态装入器找到共享库要依靠两个文件:和
ldconfig是用来管理和更新系统动态链接库的工具,它会根据/etc/ld.so.conf文件中的路径创建软链接,并生成缓存文件/etc/ld.so.cache。
需要运行sudo ldconfig的情况:
1)当安装了新的库文件
2)修改/etc/ld.so.conf,增加了库的新的搜索路径
如果没做,可能会找不到刚安装的库。
默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录。
export LD_LIBRARY_PATH=/usr/local/lib/:/opt/lib
所有从当前 shell 启动的可执行程序都将使用 或 中的库,如果仍不能满足一些共享库相关性要求,则转回到 中指定的库。
方法一: 终端上输入以下命令,但是退出当前终端后就失效
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/xxxxx/lib
方法二: vim ~/.bashrc, 添加
export LD_LIBRARY_PATH=/opt/xxxxx/lib:$LD_LIBRARY_PATH
source ~/.bashrc
ls /usr/local/lib/pkgconfig ,会看到许多的*.pc,
PATH 环境变量
bin
到此这篇动态库的两种调用方式(动态库调用方法)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/haskellbc/46236.html