20145205 《信息安全系统设计基础》第2周学习总结

教材学习内容总结

1.知识点:

   1)gcc编译文件的流程:源文件—预处理—编译—汇编—链接—可执行文件

  2)在.c->.i的时候不会进行语法检查,在.i->.o的时候才会进行
下面是gcc常用选项

下面是gcc库选项

  3)使用gdb进行调试:gcc –g XXX.c –o XXX后,输入 gdb XXX 即可进行调试; l——查看源代码;break 行数——设置断点;info break——查看断点信息;p 变量——打印变量值;bt——查看堆栈;c—继续执行;q——退出;n——不进入函数调试;s——进入函数调试;help [command]可以进行命令查找;delete [断点号]——删除所有断点;b 函数名——设置函数断点(函数不执行);b 行号或者函数 if 表达式 (条件断点)
下面是gdb工作环境相关命令

下面是gdb设置断点与恢复命令

下面是gdb中查看运行数据的相关命令

  4)makefile带来的好处就是——“自动化编译”,一但写好,只需要一个make命令,整个工程完全编译,极大的提高了软件的开发效率。

  5)一个Makefile文件主要含有一系列的规则,每条规则包含一下内容:一个目标,即make最终需要创建的文件,如可执行文件和目标文件;目标也可以是要执行的动作,如clean;一个或多个依赖文件的列表,通常是编译目标文件所需要的其他文件。之后的一系列命令,是make执行的动作,通常是把指定的相关文件编译成目标文件的编译命令,每个命令占一行,并以tab开头(初学者务必注意:是tab,而不是空格) 执行以上Makefil后就会自动化编译

  6)-C dir 读入指定目录下的makefile

下面是makefile中常见的自动变量 和环境变量

下面是makefile中常用的预定义变量

下面是make的命令行选项

代码调试中的问题和解决过程

本周在实验楼中敲书上的例子时,会出现没有定义main函数的错误报告,并没有解决该问题,起初以为是环境错误,但是编写自己写的简单C语言程序后可以运行

本周代码托管截图

在虚拟机上进行git时,参照了卢肖明同学所编写的博客,在此谢谢卢肖明同学给我的帮助,减少了我可能会走的弯路,然后再开始的时候git中没有合并文件,之后也解决了。

其他(感悟、思考等,可选)

本周在试验楼中进行了再linux环境下用终端进行c语言文件编译和调试,比起之前用软件编写有方便的地方也有麻烦的地方,要是进行一个大项目编写的话只用键盘的话效率会高一些,而且所有的命令都可以方向键调出,所以越往后会越便利,但是终端无法对于一个已有的程序直接复制过来进行编译运行,这是我感觉不便利的地方,而且在终端上编写的时候,在熟练后确实是可以提高效率,但是现在我还并发现如何去想上个学期那样进行代码托管。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 0/0 1/2 8/8
第二周 49/49 1/3 10/18

参考资料

原文地址:https://www.cnblogs.com/20145205y/p/5906931.html