20155208 2017-2018-1 《信息安全系统设计基础》第三周学习总结
教材学习内容总结
课上知识点及实践
- 知识种类:50%元知识+10%20%硬知识+30%40%软知识
- 打开命令快捷键:control+Alt+T
- ls指令:
ls:打开当前文件夹,我们可以用ls -a .显示当前目录中的所有内容,包括隐藏文件和目录。其中“-a” 就是选项,改变了显示的内容。如图所示:
- man命令:
man命令可以查看帮助文档,如 man man :
-
gcc命令(重点):
GCC相关概念:GNU CC(简称为gcc)是GNU项目中符合ANSI C标准的编译系统,能够编译用C、C++和Object C等语言编写的程序。
gcc--编译
gcc -E hello.c -o hello.i -- 编译预处理
gcc -S hello.i -o hello.s -- 汇编代码
gcc -C hello.o -o hello.o -- 转变成机器码
gcc hello.o -o hello -- 编译指定程序
** 简述简单编译流程:**
第一步gcc会调用预处理程序cpp,由它负责展开在源程序中定义的宏(上例:#include <stdio.h>),向其中插入#include语句所包含的内容(原地展开stdio.h包含的代码)
第二步,将hello.i编译为目标代码,gcc默认将.i文件看成是预处理后的C语言源代码,因此它会直接跳过预处理,开始编译过程。
第三步,gcc连接器将目标文件链接为一个可执行文件,一个大致的编译流程结束。
断点的设置 : 设置断点
-
break 命令用来设置断点
-
通过行号设置断点
-
break 行号,断点设置在该行开始处,注意:该行代码未被执行。
-
break 文件名 : 行号,适用于有多个源文件的情况。
-
通过函数设置断点
-
break 函数名,断点设置在该函数的开始处,断点所在行未被执行。
-
break 文件名 : 函数名,适用于有多个源文件的情况
教材学习中的问题和解决过程
问题: 按照老师要求,在虚拟机中运行简单的C语言程序,开始时不知道怎么运行hello.c程序。
解决过程: 后来使用./a.out hello进行运行,运行成功如下:
其他(感悟、思考等,可选)
又到了新一个学期的学习,上个学期的java学习让我学到了一些东西,并且后来的java实习也让我进一步巩固了这些知识,我懂得了无论什么样的学习,都要付诸于实践,我要告诉我自己,这个学期一定要多动手,多实践,只有这样才能真正掌握知识。
学习进度条
代码行数(新增/积累) | 博客量(新增/积累 | 学习时间(新增/累积) | |
---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 |
第一周 | 5/5 | 1/1 | 8/8 |
参考资料
《深入理解计算机系统V3》学习指导