Linux学习笔记20200413
1.Linux自学计划
学习目的:了解Linux系统,熟练使用Linux命令
学习资源:https://www.bilibili.com/video/av18156598/ 、《细说Linux基础知识》-兄弟连教育组
学习计划:该视频教程共106集,每集大概30分钟,计划每天晚上看两集,预估用时1-1.5小时,简书记录每日学习的新知识
今日进度:p35-p36
2.学习笔记
源码包与RPM包的区别
Linux下的绝大多数源码包都是用C语言编写的,还有少部分是用C++等其他程序语言编写的。所以,要想安装源码包,必须安装C语言编译器gcc(如果是用C++编写的程序,则还需要安装gcc-c++)
rpm -q gcc 查询是否安装
yum -y install gcc 安装
make命令用来编译
rpm -q make 查询make是否安装
函数库
函数库其实就是函数,只不过是系统所调用的函数。
函数库分类
当其他程序调用函数时,根据是否把函数直接整合到程序中而分为静态函数和动态函数。我们分别看看这两种函数的优缺点。
1)静态函数库
函数库文件一般以“.a”扩展名结尾,这种函数库在被程序调用时会被直接整合到程序当中。
优点:程序执行时,不需要再调用外部数据,可以直接执行。
缺点:因为把所有内容都整合到程序中,所以编译生成的文件会比较大,升级比较困难,需要把整个程序重新编译。
2)动态函数库
函数库文件通常以“.so”扩展名结尾,这种函数库在被程序调用时,并没有直接整合到程序当中,当程序需要用到函数库的功能时,再去读取函数库,在程序中只保存了函数库的指向,如图所示。
优点:因为没有把整个函数库整合到程序中,所以文件较小,升级方便,不需要把整个程序重新编译,只需要重新编译安装函数库就好。
缺点:程序在执行时需要调用外部函数,如果这时函数出现问题,或指向位置不正确,那么程序将不能正确执行。
目前Linux中的大多数函数库是动态函数库,主要是因为升级方便;但是函数的存放位置非常重要,而且不能更改。目前被系统程序调用的函数主要存放在“/usr/lib”和“/lib”中,而Linux内核所调用的函数库主要存放在“/lib/modules”中。