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

本文总结了《信息安全系统设计基础》第六周的学习内容,包括vi编辑器的基本操作、gcc预处理、编译、汇编及链接过程,以及gdb调试工具的使用方法。作者还分享了在代码编译过程中遇到的问题及解决过程。

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中时,编译成功。

本周代码托管截图

1011241-20161020181341138-879788268.png
1011241-20161020181351904-921791929.png
1011241-20161020181409123-827184460.png
1011241-20161020181419388-1971449448.png
1011241-20161020181430404-582862129.png
1011241-20161020181441232-1529709519.png
1011241-20161020181450170-1769602217.png
1011241-20161020181457873-756424600.png
1011241-20161020181507592-2167256.png
1011241-20161020181516842-662591877.png

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

这是第二周的学习内容,我独立完成安装了VIM,并根据实验楼内容编译代码和用GDB调试代码。但还是很不熟练,会勤加练习。另外,我还没有学会如何使用Git,将在短时间内通过向同学求教的方式学会并体现在下一篇博客中。

学习进度条

代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
目标5000行30篇400小时
第一周200/2002/220/20
第二周300/5002/418/38
第三周500/10003/722/60
第四周300/13002/930/90

参考资料

转载于:https://www.cnblogs.com/liuyiyang/p/5981893.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值