实验报告(四)

一、rpm命令及各参数的使用

1. -qa:查询已安装的所有rpm软件包

截图不完整,下面还有许多rpm软件包,可以看出-qa选项可以查询出已安装的所有rpm软件包。

 

 

 这次我们使用-qa|grep gcc,可以利用输出重定向来指定查找的内容。

 

 

 

2.-e:卸载rpm软件包

 -e选项可以删除已安装的rpm软件包,这里我们删除了gcc软件包,发现报错了,因为别的东西在使用着gcc。如果我们想要强制删除的话,可以再加上--nodeps命令。

 

 可以发现加上--nodeps命令后确实把gcc删除掉了。

 

 

3.-ivh:安装rpm软件包

如果我们想再安装回gcc的话,可以使用-ivh选项,但是我们直接安装时会发现下面问题

 

 这是因为我们目录里面没有gcc这个软件包,需要去别处下载gcc软件包,我们可以在CentOS光盘中找到Packages这个包,里面就有gcc软件包

 

 

 

搜索找到gcc软件包,然后复制到我们虚拟机的目录里面,这里我们复制到rpm_test文件夹下,然后安装gcc。

 

 

 发现报错了,依赖检测失败。因为安装gcc之前需要其他软件的支持。所以我们不使用rpm进行安装了,我们可以使用yum来安装,他会自动处理软件的依赖关系,非常好用。

 

 

这里选择y

 

 

 

 

 

 

 至此,gcc就安装完成了。

 

 

 我们使用rpm命令检查一下,发现确实安装上了。

 二、yum命令

yum是一个shell前段的软件包管理器,能从指定服务器自动下载RPM包并安装,而且自动处理依赖关系

1.yum list 

yum -list:列出所有可安装的软件清单命令,以下是部分输出截图,后面还有非常多。

 

 在后面加上包名会进行指定查找

服务器上是由gcc的安装包的

 

2.yum install 包名

安装指定的软件包,在rpm -ivh安装gcc时已经进行了完整的演示。上面使用了yum来安装,为什么不使用rpm来安装呢,因为使用rpm安装需要处理依赖关系,

比较麻烦。如果处理好依赖关系,我们也可以使用rpm -ivh命令来安装。

3.yum update

更新所有软件,输出内容非常多,这里只截取了一部分。

 

 

 

 4. yum search 关键字

查找软件包命令

 

 5.yum remove 包名

删除软件包命令

 

 

 三、使用yum安装gcc编译器

直接使用yum install gcc命令便可安装gcc编译器

 

 

 

 

最下面的一行进度条完成gcc编译器就完成了。

 

四、使用gcc编译器进行分步编译和一步编译

①一步编译

 

编译完成后就可执行了。

 ②分步编译

分布编译流程有四个步骤:分别是 预处理、编译、汇编、链接。

在分布编译时需要用到一些选项,如下表所示

①预处理

在预处理阶段GCC主要处理带“#”的指令,如#include(头文件)、#define(宏定义)等,

并删除注释、添加行号和文件名标识。linux 系统中通常用 ".i" 作为 C 语言程序预处理后所得文件的后缀名。

 

 -E表示编译只执行预处理。-o可以指定新生成文件名。

 

②编译

所谓编译,简单理解就是将预处理得到的程序代码,经过一系列的词法分析、

语法分析、语义分析以及优化,加工为当前机器支持的汇编代码。

 

-S表示编译执行生成汇编语言,linux 系统中通常用 ".s" 作为 C 语言程序编译后所得文件的后缀名。

 ③汇编

汇编阶段汇编代码转换为机器可以执行的指令。

 

 后缀为.o的便是汇编后生成的文件,.o是c语言程序汇编后所得文件的后缀名

④链接

链接器把多个二进制的目标文件(object file)链接成一个单独的可执行文件

 

 

 之后便可以将链接后的文件进行执行了

 

posted @ 2022-05-15 21:38  我谁啊略略略  阅读(83)  评论(0)    收藏  举报