学习时间:6小时
一·学习任务
1.在终端输入vimtutor进入教程,学习vim的基本操作
2.使用gcc,gdb编译.c文件
3.学会使用Makefile,将多个文件放在一个文件夹中
二·学习方法
在本周实验中,学习使用了与Linux类似的mac os,在air上使用十分方便,通过学习实验楼及PDF上的书上第三章的知识对本周内容进行学习。
三·学习过程
1.关于vim的基本操作
在终端中输入vimtutor进入教程。在教程中学会使用了一些基本指令,如打开一个新文件之后按下i键就可以输入文本,按esc退出某模式,然后输入:,之后输入wq就可以保存退出。之后还有一些常用的,如ls显示文件目录,在正常模式下按下x键就可以删除光标对应的文本等。
2.使用gcc进行编译
在编译之前,首先输入vim 文件名+后缀名,就可以创建对应文件(比如我要创建hello.c,只要输入vim hello.c),然后进入后就可以利用vim中教的方式输入代码。输入完代码后,输入gcc指令,它可以直接把.c文件变为.o文件,其实在这过程中有.i后缀名的文件,编译完后都用vim查看一下,结果如下:
图:输入gcc指令进行编译
图:.i文件中的内容
图:.o文件中的内容
图:正常编译文件hello.c的结果
3.使用gdb进行调试
gdb作为一款用来调试程序的程序,但是在mac os中并没有,于是在网上搜索进行了安装,依然是在终端中输入指令,安装成功后因为mac系统的保护,需要进行认证,在网上搜索了一下,证书写好后还无法认证,还在处理之中,不过一些指令还可以使用,在作业中有一些截图。
gdb中的一些常用指令:(1)break 6(6即设置断点的行号); (2)info break(查看断点信息)
(3)r(运行程序) (4)n(单步运行)
(5)p i(打印变量i的值) (6)c(继续运行程序)
4.学习使用Makefile
makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至进行更复杂的功能操作。
在vim中编译,最后的那个“clean:”就是用来 make clean去执行rm -f *.o test这条命令,完成 clean 操作。
在最后的作业中,运行出现了些问题,在作业中详细说明。
5.作业
(1)首先vim写入对应的文件,之后使用gcc编译,然后在终端中运行。
(2)使用gdb进行调试
在尝试了其他多组数据之后发现,无论数据怎么变换,除法的输出结果均为0.因为电脑的gdb存在一些问题,只可以运行一些指令,结果如下:
图:进入gdb后输入l,查看代码及行数
在上图中,只设置了断点并查看了断点信息,输入运行和单步运行时均出现错误,仍在学习调试中。
(3)设置静态库和动态库
安装PDF指导书上的知识,输入对应指令即可完成。
图:静态库
图:动态库
(4)使用Makefile
安装指导书上的进行vim编译,结果如下:
但是输入make指令后,提示错误,查看之后未发现问题,还在尝试解决中。
四·学习总结
经过本周的学习,对于在mac os中通过终端完成代码的编译有了更深的了解。vim的学习让我从当初新建文件之后的不知所措,到现在可以编译多个文件组成的程序,并进行调试和静态库的创建。通过学习,对苹果自带的系统编写代码有了深入了解,终于不像以前一样让另一个系统闲置了。