Linux库相关概念和编程--好记性不如烂笔头,于是成为废话编辑(自用)


Linux库概念及相关编程

一、库的种类————静态库、动态库、共享库

什么是库图文来源

1.静态库

静态函数库,是在程序执行前(编译)就加入到目标程序中去了 ;
优点:
1) 运行快

2)发布程序无需提供静态库,因为已经在app中,移植方便

缺点:大
在这里插入图片描述
图片来源

2.动态库

动态函数库,是在程序执行时动态(临时)由目标程序去调用
缺点: 运行慢
优点: 小
动态库的优劣
图片来源

3.共享库

在这里插入图片描述
图片来源

二、库的制作

1.静态库的制作:


    格式`xxxx.a·
a.	gcc calcufuncs.c -c 生成xxx.o文件
b.	ar rcs libcalcufunc.a calcufuncs.o  xxx.o文件生成xxx.a静态库文件

2.动态库的制作:


gcc -shared -fpic calcufuncs.c -o libcalc.so
			-shared 指定生成动态库
			-fpic 标准,fPIC 选项作用于编译阶段,在生成目标文件时就得使用该选项
			以生成位置无关的代码。

三、库的使用


静态库:
	gcc calculatorT.c -lcalcufunc -L ./ -o mainProStatic	
		-lcalcufunc -l是制定要用的动态库,库名砍头去尾
		-L告诉gcc编译器从-L制定的路径去找静态库。默认是从/usr/lib  /usr/local/lib去找

gcc calculatorT.c -lcalc -L ./ -o mainProDy	
						libcalc.so
引用动态库,怎么指定动态库的位置
https://www.cnblogs.com/progamming/p/13043652.html

带动态库的程序,
可以指定该程序运行时候,在LD_LIBRARY_PATH 所指定的路径去找库文件
export LD_LIBRARY_PATH="/home/pi/back/test"

也可以将动态库拷到lib库中供查找
	sudo cp libxxx.so  /usr/lib/


通常使用流程为
vi xx.sh

export LD_LIBRARY_PATH="/home/pi/back/test"

./xxx.out

chmod +x xx.sh  //给脚本文件添加可执行权限

./xx.sh

详细博文链接

写给自己的废话

一、 与博客的爱恨情仇

1.接触CSDN

初入大学,由于是计算机专业 学生的缘故接触到了OJ(Online Judge),可以说是月黑风高夜,挠头脱发时。由于老师设置刷题数以及成绩有着挂钩的规定,于是大部分时间多在一片WA声中度过。看着室友刷题数目多的离谱,于是找室友求取经验,在和室友共享一份加量炸鸡之后,室友缓缓的说出“你用百度去搜这些题目,都能搜到的,不过我CSDN用的比较多”。怀着疑惑,打开百度搜索了一道斐波那契序列的题。搜之前"这是什么奇怪的数列,怎么有人搞这种东西折磨人",搜完之后“草,原来可以这样做”。于是开启了,编程全靠CSDN 之路。

2.下决心写博客的原因

大二下的时候疫情爆发了,大部分学习时光都是网课,于是开始老师上课讲一遍,教学平台的网课刷一遍,自己课后找个觉得不错的网课再看一遍,一门课刷三次网课,化身哪吒本吒。刷的时候想起老爸教育自己时说到的“书读三遍,其义自见”。不得不说,虽然累的像狗,学的也还行。不过没什么做笔记的习惯,很多课程在学的时候花了很大功夫,窥探到一点思路,事后没有笔记的支持,绩点也就不是很高。哪怕刷了三次网课,也没什么用。高数补考61分事实上假期刷了四次汤神的课。 大学期间学的东西很杂,Verilog、MATLAB、C、C++、Python、模电、DSP芯片的基础使用、51、32和Liunx等等。不过没有一门潜下心去好好学的。后悔。 学的浅显是一方面,在学习过程中没留下相关记录是另一个大问题。于是在拖延一个月之后正式决定开写!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值