20145202 《信息安全系统设计基础》第2周学习总结
学习内容总结
先按照视频上所教授的内容安装vim
按退出键再冒号输入wq,按感叹号可以强制退出
编写代码
完善编译器,新加入的功能可以显示行数。
安装emacs
实验楼中的学习
大写“K”可以用来查找函数的帮助信息:查看 man page,命令模式下,将光标放在函数名上,按"K"可以直接察看 man page。
set nu :显示行号
set ai 自动缩行
set ts=4 :设置一个 TAB 键等于几个空格
移动光标:
[[ 转到上一个位于第一列的"{"
]] 转到下一个位于第一列的"{"
{ 转到上一个空行
} 转到下一个空行
gcc运行:
gcc hello.c -o hello:运行hello.c
gcc -g hello.c -o hello:用来调试
gcc -E hello.c -o hello.i:编译
gcc -S hello.i -o hello.s:cpp到ccl,c语言到汇编
gcc -c hello.s -o hello.o:ccl到as,汇编语言到机器码
使用gdb调试:
断点:函数断点,临时断点,b 行号,条件断点
1.b main(设置断点)
2.r(run) 运行
3.n(next),s(step)优先使用next,如果单行出错了再用step进到里面进行调试
4.quit
until:跳过一个大循环
tb 14:14行驶临时断点
b 12 if i==5000:12行设置了一个条件断点并且在i=5000时停下来。
disp j:j的值每变化一次就会打印一次j
finish:当使用s进入到一个循环里后再使用finsih就可以直接执行完这个循环。
学习中的问题和解决过程
问题:在做实验楼里面的练习的时候遇到了head.h不知道应该如何编译
解决方法:直接vim head.h然后完成相关编译运行的时候也直接gcc就可以了。
代码运行中的问题和解决过程
如图所示,在计算除法的时候它并不能正确的显示结果。
改成全部都是整数型的就没有问题了但之前哪样为什么有问题我还不知道,但至少是解决了。
本周代码托管链接
git.oschina.net/tuolemi/haha/tree/2