• Linux操作系统7:文件系统及磁盘管理(二)


    写在最前面

    原文发布时间:2022/11/13 12:23:04
    由于质量分过低,因此进行完善更新

    原文

    一、实验目的

    掌握Linux ubuntu系统软件包安装方法
    掌握用make进行编译的方法和技能

    二、实验内容

    练习Linux Ubuntu系统中软件包的安装方法
    在Linux系统下用make进行源码编译。
    1.查看系统是否安装vim,若有,则先卸载该软件,然后重新安装vim(注意update)。
    2.利用vim编写如下c语言程序:一个main.c代码完成两个数字的输入及四个子程序:add.c、subtract.c, multiply.c 和 divide.c的调用。其中,这四个子程序分别完成对main.c中输入数字的加、减、乘、除运算。完成源码文件的编写后,编写makefile文件描述各源码文件间的依赖关系及最终生成可执行文件main的编译规则。通过make工具将源码编译生成可执行文件main,并运行main文件。
    根据实验练习1和2完成实验报告。

    三、实验结果

    我们发现,需要安装vim。因此我们先进入root模式,安装vim。
    因为虚拟机不是最新的,所以安装失败了。所以,我们在安装之前先更新。
    在这里插入图片描述

    这样就是更新成功了,我们再次进行vim的安装。

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

    下载成功后,可以在图形界面看到vim图标。并且,可以通过版本查看是否安装。

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

    在这里插入图片描述

    进入vim界面后,按i进入编辑模式(可以看到,左下角有INSERT)
    写完之后,按esc :wq

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

    先下载gcc

    在这里插入图片描述

    在这里插入图片描述

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

    在这里插入图片描述

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

    完善

    分为两个部分来完成这次实验。

    实验一:Linux软件包安装

    实验目的

    • 掌握Linux Ubuntu系统软件包的安装方法。

    实验内容

    步骤1:检查并重新安装vim

    首先,我们将检查系统是否安装了vim编辑器。如果已安装,我们将卸载它,然后重新安装。这将有助于熟悉软件包的安装和卸载过程。

    1. 打开终端,检查是否已安装vim

      vim --version
      
      • 1

      如果vim已经安装,将显示VIM - Vi IMproved以及相关信息。

    2. 如果vim已安装,卸载它:

      sudo apt remove vim
      
      • 1

      输入管理员密码确认卸载。

    3. 现在重新安装vim

      sudo apt update
      sudo apt install vim
      
      • 1
      • 2

      这将更新软件包信息并重新安装vim

    现在,我们已经重新安装了vim,接下来,我们将进行第二部分的实验。

    实验二:使用make进行源码编译

    实验目的

    • 掌握使用make进行源码编译的方法和技能。

    实验内容

    步骤1:编写C语言程序

    在这一部分,我们将使用vim编辑器编写一个简单的C语言程序。这个程序将包括一个main.c文件,以及四个子程序:add.csubtract.cmultiply.cdivide.cmain.c将接收两个数字的输入,并调用这四个子程序完成加法、减法、乘法和除法运算。

    // main.c
    #include 
    #include "add.h"
    #include "subtract.h"
    #include "multiply.h"
    #include "divide.h"
    
    int main() {
        double num1, num2;
        printf("Enter two numbers: ");
        scanf("%lf %lf", &num1, &num2);
    
        printf("Sum: %lf\n", add(num1, num2));
        printf("Difference: %lf\n", subtract(num1, num2));
        printf("Product: %lf\n", multiply(num1, num2));
        printf("Quotient: %lf\n", divide(num1, num2));
    
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    步骤2:编写makefile文件

    为了使用make工具编译这些源码文件,我们需要编写一个makefile文件,描述各源码文件之间的依赖关系和最终生成可执行文件main的编译规则。

    # makefile
    
    CC = gcc
    CFLAGS = -Wall
    
    all: main
    
    main: main.o add.o subtract.o multiply.o divide.o
    	$(CC) $(CFLAGS) -o main main.o add.o subtract.o multiply.o divide.o
    
    main.o: main.c
    	$(CC) $(CFLAGS) -c main.c
    
    add.o: add.c
    	$(CC) $(CFLAGS) -c add.c
    
    subtract.o: subtract.c
    	$(CC) $(CFLAGS) -c subtract.c
    
    multiply.o: multiply.c
    	$(CC) $(CFLAGS) -c multiply.c
    
    divide.o: divide.c
    	$(CC) $(CFLAGS) -c divide.c
    
    clean:
    	rm -f main main.o add.o subtract.o multiply.o divide.o
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27

    这个makefile文件指定了各个源码文件之间的依赖关系,以及如何编译它们并生成可执行文件main

    步骤3:使用make编译源码

    现在,我们可以使用make工具编译这些源码文件并生成可执行文件main。在终端中,进入源码文件所在的目录,并运行以下命令:

    make
    
    • 1

    make将按照makefile文件中定义的规则进行编译。

    步骤4:运行可执行文件

    编译成功后,你可以运行生成的可执行文件main

    ./main
    
    • 1

    然后输入两个数字,并得到它们的加法、减法、乘法和除法运算结果。

    实验报告

    本次实验我们完成了两个主要目标。首先,我们掌握了Linux Ubuntu系统中软件包的安装方法,包括安装和卸载软件包。其次,我们学习了如何使用make进行源码编译,包括编写makefile文件,定义依赖关系和编译规则,以及使用make工具编译源码文件。

    通过这次实验,我们深入了解了Linux操作系统的一些高级主题,包括软件包管理和源码编译。这些技能对于Linux系统管理和开发非常重要。

    希望本次实验对你的Linux学习之路有所帮助。

  • 相关阅读:
    如何打开pak文件-翻译pak语言包
    rosnode ping指令
    idea如何设置代理实现管理突破呢
    vite-vue3-ts 搭建项目时 项目中使用 @ 指代 src
    聊聊Mybatis的初始化之Mapper.xml映射文件的解析
    设计模式之建造者模式
    一份详实的 Scrapy 爬虫教程,从原理到实战
    Java程序员毕业N年系列----毕业二年
    数据结构—字符串
    排序归纳 Java版
  • 原文地址:https://blog.csdn.net/wtyuong/article/details/127830546