linux的常用操作——共享库

1.共享库的命名规则

\qquad共享库,即动态库。库名: lib+库名+.so

2.共享库的制作

2.1生成与位置无关的.o文件
gcc -fpic -c filename.c -I 头文件路径
2.2生成共享库
gcc -shared -o 共享库名 要打包的.o文件 -I 头文件路径
2.3生成可执行文件
gcc filename.c 动态库路径/库名 -o 可执行文件名 -I 头文件路径

3.动态库无法被加载

\qquad查看可执行文件动态库加载情况

ldd 可执行文件

\qquad 需要找动态连接器的配置文件 ld.so.conf

sudo vim /etc/ld.so.conf

\qquad 动态库的绝对路径写到配置文件中
\qquad 更新——sudo ldconfig

4.动态库实例

  1. 目录结构
zhaoxr@zhaoxr-ThinkPad-E450:~/linux$ tree
.
├── head
│   ├── add.h
│   └── mul.h
├── lib
│   ├── add.c
│   └── mul.c
└── source└── main.c3 directories, 5 files
  1. 制作动态库

生成与位置无关的.o文件

zhaoxr@zhaoxr-ThinkPad-E450:~/linux/lib$ gcc -fpic -c mul.c add.c -I ../head/
zhaoxr@zhaoxr-ThinkPad-E450:~/linux/lib$ tree
.
├── add.c
├── add.o
├── mul.c
└── mul.o0 directories, 4 files

生成动态库

zhaoxr@zhaoxr-ThinkPad-E450:~/linux/lib$ gcc -shared -o libmylib.so mul.o add.o -I ../head/
zhaoxr@zhaoxr-ThinkPad-E450:~/linux/lib$ tree
.
├── add.c
├── add.o
├── libmylib.so
├── mul.c
└── mul.o0 directories, 5 files
  1. 生成可执行文件
zhaoxr@zhaoxr-ThinkPad-E450:~/linux/source$ gcc main.c ../lib/libmylib.so  -o app -I ../head/ 
zhaoxr@zhaoxr-ThinkPad-E450:~/linux/source$ tree
.
├── app
└── main.c0 directories, 2 files
zhaoxr@zhaoxr-ThinkPad-E450:~/linux/source$ ./app 
a+b=19,a*b=90

5. 动态库的优缺点

\qquad优点:执行程序的体积小;动态库更新了,不需要重新编译程序。
\qquad缺点:发布程序时,需要把动态库提供给用户;动态库没有加载到应用程序中,所以加载速度会比静态库慢一些。

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

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

相关文章

因果表征学习最新综述:连接因果科学和机器学习的桥梁

来源:集智俱乐部作者:蔡心宇审校:龚鹤扬、陆超超编辑:邓一雪论文题目:Towards Causal Representation Learning论文地址:https://arxiv.org/abs/2102.11107这篇名为Towards Causal Representation Learning…

【计算机网络复习】1.1.2 标准化工作及相关组织

标准化工作及相关组织一、标准化工作二、标准化工作的相关组织一、标准化工作 标准 法定标准:由权威机构指定的正式的、合法的标准(如OSI)事实标准:某些公司的产品在竞争中占据了主流,时间长了,这些产品中…

推荐几个练习听力不错的国外网站

http://www.uptoten.com/ 是美国针对学前教育(0到10岁)的听力网站,主题非常丰富,拥有大量英文歌曲、卡通片、绘画、游戏等栏目,启发儿童在艺术、健康、语言、社会、科学多元思维能力,在好玩又有趣的氛围下&…

linux的常用操作——程序调试gdb

1.如何在linux下调试程序? \qquad在进行程序编译时,如果需要调试,那么需要加入调试指令。 gcc filename.c -o 可执行文件名 -g\qquad对程序进行调试 gdb 可执行文件名2.调试的基础操作 \qquad在gdb的界面下的操作:查看 l #默认…

这种记忆技术在弯曲时更好?

A new kind of flexible phase change memory is tested while bent around a 4-millimeter-diameter rod. A.I. KHAN AND A. DAUS来源:IEEE电气电子工程师新的相变存储器需要更少的能量,部分原因是它是建立在塑料上的?要想让粘贴式显示器、…

【计算机网络复习】1.1.3 速率相关的性能指标

速率相关的性能指标一、速率二、带宽三、吞吐量一、速率 速率即数据率或称数据传输率或比特率。 比特 : 1/0 位 连接在计算机网络上的主机在数字信道上传送数据位数的速率。 单位是b/s,kb/s,Mb/s,Gb/s,Tb/s 速率 …

linux的常用操作——makefile

1.makefile是什么? \qquadmakefile是linux下的一个代码管理工具。 2.makefile文件的命名 \qquadmakefile的命名:首字母大写即:Makefile;或者全部小写:makefile。 3.makefile文件的规则 \qquad规则三要素:…

接口与内部类

1.什么是接口(B) 接口是一种引用数据类型,用interface声明;当出现interface便可判断为接口。 形式:【修饰符】 interface 接口名称(public interface Pepar{ }) 接口可声明属性,且属性都默认为static final 1 public interface Pa…

深度学习为何泛化的那么好?秘密或许隐藏在内核机中

来源:AI科技评论编译:杏花编辑 :青暮在机器学习领域,人工神经网络逐年扩大规模,并取得了巨大成功,但同时它也制造了一个概念性难题。当一个名为 AlexNet网络在2012年赢得年度图像识别比赛时,大约…

linux的常用操作——压缩和解压缩

1.gzip和bzip2 \qquadgzip和bzip2的处理解压和压缩的功能并不强大,一是:不能处理打包压缩;二是:gzip压缩不保留原文件,bzip2 -k 要压缩的文件可以保留原文件;三是:只能压缩文件,不能…

【计算机网络复习】1.1.4 时延、时延带宽积、RRT和利用率

时延、时延带宽积、RRT和利用率一、时延二、时延带宽积三、往返时延RTT一、时延 传输时延(发送时延):数据从结点发送到链路上的时间 传输时延 数据长度/网络带宽,由网络带宽、数据长度决定 传播时延:信号从链路的一端…

华为汪涛:无线网络未来十年十大趋势

来源:通信产业网2021全球移动宽带论坛(Global MBB Forum)期间,华为常务董事、ICT基础设施业务管理委员会主任汪涛发表了题为“走向智能世界2030,无线网络未来十年十大趋势”的主题演讲。华为常务董事、ICT基础设施业务…

mount 挂载光盘

1 查看光盘情况 ls_l /dev|grep cdrom 2 创建光盘挂载点 3 执行mount 命令 mount -t iso9660 /dev/sr2 /media 转载于:https://www.cnblogs.com/CandiceW/p/10773865.html

【计算机网络复习】1.2.1 分层结构、协议、接口、服务

分层结构、协议、接口、服务一、 分层结构一、 分层结构 分层的基本原则 1、各层之间相互独立,每层只实现一种相对独立的功能。 2、每层之间界面自然清晰,易于理解,相互交流尽可能少。 3、结构上可分隔开。每层都采用最合适的技术来实现。…

22000字深入研究消费电子光学传感器行业

来源:华创证券、驭势资本研究所消费电子是传感器最重要的应用市场,据研究机构的调研数据显示,占传感器50%左右份额。本文主要基于3D光学传感器产业研究,同时涉及TOF飞行时间传感器、红外传感器等应用于消费电子设备上的光学传感器…

java的web项目资源访问规则

web配置时: /* :不管请求是什么路径统统都拦截 /  : 规定:拦截请求 和静态资源 放行jsp等动态资源 转载于:https://www.cnblogs.com/zj-xu/p/10774137.html

linux的常用操作——open函数

1.linux系统函数 \qquad使用linux系统函数和使用一般C库函数没有什么本质区别。在linux下编写c语言程序时,如果使用系统函数,也需要包含系统函数的头文件,函数也有参数,返回值,这和使用C库函数时的操作是一样的。 2.o…

【计算机网络复习】1.2.2 OSI参考模型

OSI参考模型一、七层OSI参考模型(法定标准)1.1 ISO/OSI参考模型 —— 怎么来的?1.2 ISO/OSI参考模型1.2.1 通信过程1.2.2 数据封装一、七层OSI参考模型(法定标准) 1.1 ISO/OSI参考模型 —— 怎么来的? 为…

当世界模型被用于sim2real:机器人通过视觉想象和交互尝试来学习

来源:AI科技评论 编译:杏花编辑:青暮人类是如何掌握这么多技能的呢?好吧,最初我们并非如此,但从婴儿时期开始,我们通过自监督发觉并练习越来越复杂的技能。但这种自监督并不是随机的——儿童发展…