20145209 《信息安全系统设计基础》第6周学习总结
20145209 《信息安全系统设计基础》第6周学习总结
教材学习内容总结
vi的基本操作
vim 文件名:打开当前目录下相应的文件(如果不存在会自动新建)
光标移动:
h-←,j-↓,k-↑,l-→,方向键也可以控制相应的光标移动方向;w-移动到下一个单词,b-移动到上一个单词。
[[ 转到上一个位于第一列的"{";]] 转到下一个位于第一列的"{";{ 转到上一个空行;} 转到下一个空行
插入模式:(不同模式之间需要先esc退出后才能切换)
i 在当前光标处进行编辑
I 在行首插入
A 在行末插入
a 在光标后插入编辑
o 在当前行后插入一个新行
O 在当前行前插入一个新行
cw 替换从光标所在位置后到一个单词结尾的字符
保存和退出vim:
w 保存文档
:q! 强制退出,不保存
:q 退出
:wq! 强制保存并退出
:w <文件路径> 另存为
:saveas 文件路径 另存为
:x 保存并退出
:wq 保存并退出
删除文本
x 删除游标所在的字符
X 删除游标所在前一个字符
Delete 同x
dd 删除整行
dw 删除一个单词(不适用中文)
d$或D 删除至行尾
d^ 删除至行首
dG 删除到文档结尾处
d1G删至文档首部
gcc
预处理:gcc –E hello.c –o hello.i;gcc –E调用cpp
编 译:gcc –S hello.i –o hello.s;gcc –S调用ccl
汇 编:gcc –c hello.s –o hello.o;gcc -c 调用as
链 接:gcc hello.o –o hello ;gcc -o 调用ld
gdb
gdb programm(启动GDB)
b 设断点(要会设4种断点:行断点、函数断点、条件断点、临时断点)
run 开始运行程序
bt 打印函数调用堆栈
p 查看变量值
c 从当前断点继续运行到下一个断点
n 单步运行
s 单步运行
quit 退出GDB
教材学习中的问题和解决过程
在编译实验楼代码时,编译不成功,经检查发现原因是将代码分开编译,后改为全部编译进main.c中时,编译成功。
本周代码托管截图
其他(感悟、思考等,可选)
这是第二周的学习内容,我独立完成安装了VIM,并根据实验楼内容编译代码和用GDB调试代码。但还是很不熟练,会勤加练习。另外,我还没有学会如何使用Git,将在短时间内通过向同学求教的方式学会并体现在下一篇博客中。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 200/200 | 2/2 | 20/20 | |
第二周 | 300/500 | 2/4 | 18/38 | |
第三周 | 500/1000 | 3/7 | 22/60 | |
第四周 | 300/1300 | 2/9 | 30/90 |