操作系统实验——Linux下C语言使用、编译与调试实验

一、实验目的:

1、复习 C 语言程序基本知识

2、练习并掌握 UNIX/LINUX 提供的 vim 编辑器来编译 C 程序

3、学会利用 gcc、gdb 编译、调试 C 程序

二、实验内容:

1、用 vim或者系统自带的文本文档, 编写一个简单的、显示"Hello,World!"的 C 程序,用 gcc 编译并观察编译后的结果

2、利用 gdb 调试该程序

3、运行生成的可执行文件。

三、实验步骤及结果:

//把实验运行过程和相关代码,或者实验结果等截图拷贝过来

1、在未安装vim之前,用系统自带的文本文档编辑器写一段简单的程序

【gedit命令用于新建C语言文本文档,cat命令将程序内容复制在终端中查看】

2、安装gcc

(1)直接用sudo apt install gcc命令安装会报错,因为软件包没有提前更新

(2)按照报错所给的提示输入命令仍然无法安装

(3)先更新所有的软件包,再安装则问题解决

(4)用‘--version’命令查看已安装软件的版本,验证gcc已成功安装

4、用gcc对程序进行编译

(1)在gcc未安装的情况下使用,则会提示需要安装

(2)安装gcc后编译,若程序有误,则会显示错误信息,此时需打开文件进行修改

【程序编译通过则会产生一个可执行文件,默认名为‘a.out’】

(3)用-o 选项为某文件的可执行文件指定一个文件名来代替 a.out

【程序的执行方式为: ./可执行文件名】

5、安装vim:软件包在安装gcc时已全部更新,所以不会出错

【用‘--version’命令查看版本,验证vim已成功安装】

【直接输入vim进入该页面】

6、熟悉文件编译器vim的使用

(1)三种模式:命令模式、插入模式和可视化模式

    

模式的转换:按‘i’进入插入模式;按‘v’进入可视模式,再按‘Shift+:’进入命令模式

(2)插入模式下编写程序

 

(3)在命令模式下,单独按q时会有报错提示

 按wq保存并退出

【用ls命令查看后发现:利用vim已创建文件】

7、用gdb调试程序

(1)gdb作为Linux系统自带的调试器,不用自己提前安装就能直接使用

(2)进入gdb调试状态的方式:

先输入命令进行编译:gcc -g first.c   再进入调试状态 gdb ./a.out

【注意:进入调试状态的命令,只能是gdb ./a.out ,虽然之前已经在生成可执行文件时,将其命名为first,但用此命令只能进入gdb模式,却无法使用其命令调试程序】

【该情况下无法调试】

(3)输入l查看程序代码

(4)输入‘b 行数’添加断点;输入‘i b’查看断点

(5)输入‘disable 断点序号’禁用断点;输入‘d断点序号’删除断点

【禁用时,断点的Enb属性有‘y’变为‘n’】

(6)输入‘r’运行程序后,输入‘n’进入下一步

(7)输入‘watch 变量名’监控变量值

【当变量不在变化时,会提示信息】

(8)当还存在断点或者断点未被禁用时,退出gdb模式会有提示信息

  • 实验作业(思考题):
  • 实验心得和体会:

在Linux中编译或者调试C语言程序相对简单,因为Linux系统本身会自带编译工具gcc以及调试工具gdb,而且二者的使用都比较简单,反馈出的错误提示信息也比较简洁明了。

在实验的使用过程中,我认为利用vim文件编译器编写程序,远远没有用系统自带的文本编译器方便,只要用一个gedit命令就能新建文件编译,因为vim存在三种模式,无论是模式之间的切换,还是在特定模式下使用的命令都有较大的差异,需要额外记忆。

总的来说,在文件编译器、gcc、gdb三者的配合下,完全可以实现简单C语言程序的编译、调试与执行。

  • 47
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

柚柚丰色tsy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值