梁广轩_1505010601_实验1

来源:互联网 发布:声音狼人杀软件 编辑:程序博客网 时间:2024/06/13 04:21

Linux 系统分析实验报告 实验1

提交日期:2017.03.02

提交截止日期:2017.03.02

姓名:梁广轩

学号:1505010601

班级:计算机科学与技术6班

一、 实验题目

在LinuxMint系统上,使用vi工具完成代码的编辑、编译、链接和运行及gdb的使用。

二、 实验目的

在LinuxMint系统上,熟悉使用vi工具完成源代码编辑、编译、链接和运行及gdb的使用。

三、 实验平台

一台装有LinuxMint系统的虚拟机。

四、 实验要求

1.安装LinuxMint系统,并在该系统中编辑、编译及调试如下程序。

2.独立完成。

五、设计思路和流程图

1.设计思路

在LinuxMint系统上,使用vi工具完成代码的编辑、编译、链接和运行及gdb的使用。

2.实验流程

(因为LiniuxMint中的输入法出现了问题,所以代码中的中文全部用英文代替。)

1)在LinuxMint中,安装vim及工具并运行“终端”。

2)在“终端”中 输入“vim lgx.c”新建并打开 “lgx.c” 文件。

这里写图片描述

#include <stdio.h>#include <unistd.h>int main(int argc, char **argv){    char *str[]={"ls",NULL};    int number=1505010601;    char *class="Computer6";    printf(“My number is:%d\n",number);    printf("My class:%s\n",class);    printf("The running process is:%d\n",getpid());    if(execve("/bin/ls",str,NULL)<0)    {        printf("Run execve error!\n");    }    return 0;}

3)在“lgx.c”的文件结尾输入代码后输入“:wq”退出“lgx.c”文件。

4)在“终端”中 输入“gcc lgx.c –o lgx1”对“lgx.c”文件进行编译。

5)“lgx.c”文件编译错误。

这里写图片描述

6)在“终端”中 输入“vim lgx.c”打开“lgx.c”文件。

这里写图片描述

7)在“lgx.c”文件中编辑代码后输入“:wq”退出文件。

#include <stdio.h>#include <unistd.h>int main(int argc, char **argv){    char *str[]={"ls",NULL};    int number=1505010601;    char *class="Computer6";    printf("My number is:%d\n",number);    printf("My class:%s\n",class);    printf("The running process is:%d\n",getpid());    if(execve("/bin/ls",str,NULL)<0)    {        printf("Run execve error!\n");    }    return 0;}

8)在“终端”中 输入“gcc lgx.c –o lgx1”对“lgx.c”文件进行编译。

9)“lgx.c”文件编译成功。

10)在“终端”中 输入“./lgx1”运行“lgx1”文件并显示结果。

这里写图片描述
11)在“终端”中输入”gdb lgx1”使用gdb。
这里写图片描述

六、实验体会

1.修改代码前,编译失败。

2.修改代码后,编译成功且能正确运行,并完成gdb的使用。

在LinuxMint系统上,成功使用vi工具完成代码的编辑、编译、链接和运行及gdb的使用。

七、程序清单

1.windows系统下的“Oracle VM VirtualBox管理器”。

2.LinuxMint系统下的“Vim工具”及“Fcitx输入法”。

八、思考题

1.计算机的启动过程?

1)开机加电。

2)启动Bios,准备实模式下的中断向量表和中断服务程序。

3)加载操作系统内核程序并为保护模式做准备。

4)开始向32位模式转变,为main函数的调用做准备。

5)计算机系统内核启动完成。

2.操作系统由谁完成?

微内核体系结构、(进程)多线程、对称多处理、分布式操作系统、面向对象设计。

0 0
原创粉丝点击