Linux 指定运行时动态库路径【转】

转自:http://www.cnblogs.com/cute/archive/2011/02/24/1963957.html

众所周知, Linux 动态库的默认搜索路径是 /lib 和 /usr/lib 。动态库被创建后,一般都复制到这两个目录中。当程序执行时需要某动态库, 并且该动态库还未加载到内存中,则系统会自动到这两个默认搜索路径中去查找相应的动态库文件,然后加载该文件到内存中,这样程序就可以使用该动态库中的函 数,以及该动态库的其它资源了。在 Linux 中,动态库的搜索路径除了默认的搜索路径外,还可以通过以下三种方法来指定。方法一:在配置文件 /etc/ld.so.conf 中指定动态库搜索路径。每次编辑完该文件后,都必须运行命令 ldconfig 使修改后的配置生效 。我们通过例 1 来说明该方法。例 1 :我们通过以下命令用源程序 pos_conf.c (见程序 1 )来创建动态库 libpos.so ,# gcc –fpic -shared  -o libpos.so pos_conf.c 
接着通过以下命令编译 main.c (见程序 2 )生成目标程序 pos 。# gcc -o pos main.c -L. -lpos 
方法二:通过环境变量 LD_LIBRARY_PATH 指定动态库搜索路径。方法三:在编译目标代码时指定该程序的动态库搜索路径。还可以在编译目标代码时指定程序的动态库搜索路径。 -Wl, 表示后面的参数将传给 link 程序 ld (因为 gcc 可能会自动调用ld )。这里通过 gcc 的参数 "-Wl,-rpath," 指定(如例 3 所示)。当指定多个动态库搜索路径时,路径之间用冒号 "" 分隔。例 3 :我们通过以下命令用源程序 pos.c (见程序 4 )来创建动态库 libpos.so 。# gcc -c pos.c # gcc -shared -fic -o libpos.so pos.o #因为我们需要在编译目标代码时指定可执行文件的动态库搜索路径,所以需要用 gcc 命令重新编译源程序 main.c( 见程序 2) 来生成可执行文件 pos 。# gcc -o pos main.c -L. -lpos -Wl,-rpath=.:..:lib #搜索动态库的先后顺序编译目标代码时指定的动态库搜索路径LD_LIBRARY_PATH/etc/ld.so.cachedefault path /lib, and then /usr/lib.

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/389524.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

opencv:SIFT——尺度不变特征变换

SIFT概念: Sift(尺度不变特征变换),全称是Scale Invariant Feature Transform Sift提取图像的局部特征,在尺度空间寻找极值点,并提取出其位置、尺度、方向信息。 Sfit的应用范围包括 物体辨别、机器人地图…

pca(主成分分析技术)_主成分分析技巧

pca(主成分分析技术)介绍 (Introduction) Principal Component Analysis (PCA) is an unsupervised technique for dimensionality reduction.主成分分析(PCA)是一种无监督的降维技术。 What is dimensionality reduction?什么是降维? Let us start with an exam…

npm link run npm script

npm link & run npm script https://blog.csdn.net/juhaotian/article/details/78672390 npm link命令可以将一个任意位置的npm包链接到全局执行环境,从而在任意位置使用命令行都可以直接运行该npm包。 app-cmd.cmd #!/usr/bin/env nodeecho "666" &a…

一文详解java中对JVM的深度解析、调优工具、垃圾回收

2019独角兽企业重金招聘Python工程师标准>>> jvm监控分析工具一般分为两类,一种是jdk自带的工具,一种是第三方的分析工具。jdk自带工具一般在jdk bin目录下面,以exe的形式直接点击就可以使用,其中包含分析工具已经很强…

借用继承_博物馆正在数字化,并在此过程中从数据中借用

借用继承Data visualization is a great way to celebrate our favorite pieces of art as well as reveal connections and ideas that were previously invisible. More importantly, it’s a fun way to connect things we love — visualizing data and kicking up our fee…

高斯噪声,椒盐噪声的思想及多种噪声的实现

图像噪声: 概念: • 图像噪声是图像在获取或是传输过程中受到随机信号干扰,妨碍人们对图像理解及分析处理 的信号。 • 很多时候将图像噪声看做多维随机过程,因而描述噪声的方法完全可以借用随机过程的描述, 也就是使…

bzoj1095 [ZJOI2007]Hide 捉迷藏

据说是道很厉害的题。。。。黄学长的安利啊。。。。 然而我却用它学分治。。。。 一个坑就摆在这里了。。。。 转载于:https://www.cnblogs.com/LLppdd/p/9124394.html

如何识别媒体偏见_描述性语言理解,以识别文本中的潜在偏见

如何识别媒体偏见TGumGum can do to bring change by utilizing our Natural Language Processing technology to shed light on potential bias that websites may have in their content. The ideas and techniques shared in this blog are a result of the GumGum Hackatho…

分享 : 警惕MySQL运维陷阱:基于MyCat的伪分布式架构

分布式数据库已经进入了全面快速发展阶段。这种发展是与时俱进的,与人的需求分不开,因为现在信息时代的高速发展,导致数据量和交易量越来越大。这种现象首先导致的就是存储瓶颈,因为MySQL数据库实质上还是一个单机版本的数据库&am…

opencv:图像读取BGR变成RGB

opencv大坑之BGR opencv对于读进来的图片的通道排列是BGR,而不是主流的RGB!谨记! #opencv读入的矩阵是BGR,如果想转为RGB,可以这么转 img cv2.imread(1.jpg) img cv2.cvtColor(img4,cv2.COLOR_BGR2RGB)

数据不平衡处理_如何处理多类不平衡数据说不可以

数据不平衡处理重点 (Top highlight)One of the common problems in Machine Learning is handling the imbalanced data, in which there is a highly disproportionate in the target classes.机器学习中的常见问题之一是处理不平衡的数据,其中目标类别的比例非常…

最小二乘法以及RANSAC(随机采样一致性)思想及实现

线性回归–最小二乘法(Least Square Method) 线性回归: 什么是线性回归? 举个例子,某商品的利润在售价为2元、5元、10元时分别为4元、10元、20元, 我们很容易得出商品的利润与售价的关系符合直线&#xf…

软键盘弹起,导致底部被顶上去

计算出可视界面的高度,当软键盘弹起时让底部元素隐藏掉,当键盘收起时再让它显示,实在没办法时这种方法也不失为一种方法1 var hdocument.documentElement.clientHeight; 2 $(window).resize(function(){ 3 let heightdocument.documentEl…

关于LaaS,PaaS,SaaS一些个人的理解

关于LaaS,PaaS,SaaS一些个人的理解 关于LaaS,PaaS,SaaS一些个人的理解 其实如果从整个程序运营的角度来考虑比较好 第一个LaaS 这个也叫做Haas 就是硬件或者基础设置即服务 比如现在的 aws azure 阿里云 腾讯云 百度云 都是提供服务器基础设置服务的 包括服务器的硬件…

糖药病数据集分类_使用optuna和mlflow进行心脏病分类器调整

糖药病数据集分类背景 (Background) Data science should be an enjoyable process focused on delivering insights and real benefits. However, that enjoyment can sometimes get lost in tools and processes. Nowadays it is important for an applied data scientist to…

Android MVP 框架

为什么80%的码农都做不了架构师?>>> 前言 根据网络上的MVP套路写了一个辣鸡MVP DEMO 用到的 android studio MVPHelper插件,方便自动生成框架代码rxjavaretrofit什么是MVP MVP就是英文的Model View Presenter,然而实际分包并不是只有这三个包…

相似图像搜索的哈希算法思想及实现(差值哈希算法和均值哈希算法)

图像相似度比较哈希算法: 什么是哈希(Hash)? • 散列函数(或散列算法,又称哈希函数,英语:Hash Function)是一种从任何一种数据中创建小 的数字“指纹”的方法。散列函数把消息或数…

腾讯云AI应用产品总监王磊:AI 在传统产业的最佳实践

欢迎大家前往腾讯云社区,获取更多腾讯海量技术实践干货哦~ 背景:5月23-24日,以“焕启”为主题的腾讯“云未来”峰会在广州召开,广东省各级政府机构领导、海内外业内学术专家、行业大咖及技术大牛等在现场共议云计算与数字化产业创…

标准化(Normalization)和归一化实现

概念: 原因: 由于进行分类器或模型的建立与训练时,输入的数据范围可能比较大,同时样本中各数据可 能量纲不一致,这样的数据容易对模型训练或分类器的构建结果产生影响,因此需要对其进行标准 化处理&#x…

Toast源码深度分析

目录介绍 1.最简单的创建方法 1.1 Toast构造方法1.2 最简单的创建1.3 简单改造避免重复创建1.4 为何会出现内存泄漏1.5 吐司是系统级别的 2.源码分析 2.1 Toast(Context context)构造方法源码分析2.2 show()方法源码分析2.3 mParams.token windowToken是干什么用的2.4 schedul…