2017-2018-1 20155305 《信息安全系统设计基础》第1周学习总结
教材学习内容总结
vi的基本操作
-
对Vim的基本介绍
-
vim的模式
1、基本模式
普通模式(常用)
插入模式(常用)
可视模式
选择模式
命令行模式(常用)
2、常用模式的切换:vim启动后进入普通模式,若处于插入模式或者命令行模式时按Esc
或Ctrl
+[(这在vim课程环境中不管用)即可返回普通模式。普通模式按i(插入)
或a(附加)
键可以进入插入模式,命令行模式中输入wq回车后保存并退出vim。
3、进入vim: vim
后面加上打开的已存在的文件名或者新建文件的文件名。 vim 文件名
或vim
。
4、退出与保存:
:q! 强制退出,不保存
:q 退出
:wq! 强制保存并退出
:w <文件路径> 另存为
:saveas 文件路径 另存为
:x 保存并退出
:wq 保存并退出
普通模式下输入Shift + zz即可保存退出vim
-
建立vim文件并进入
```vim <文件名><回车> ``` 新建文件 :e 1.txt 打开新文件1.txt :ls 可以列出以前编辑过的文档 :f 显示正在编辑的文件名 :f 2.txt 改变正在编辑的文件名字为2.txt
-
文档加密:输入vim -x file1
-
查看文件内容
输入od -tc hello.c
gcc编译器
-
GNU CC(简称为gcc)是GNU项目中符合ANSI C标准的编译系统,能够编译用C、C++等语言编写的程序。
-
编译
预处理:gcc –E hello.c –o hello.i; gcc –E调用预处理器 编 译:gcc –S hello.i –o hello.s; gcc –S调用编译器 汇 编:gcc –c hello.s –o hello.o; gcc -c 调用汇编器 链 接:gcc hello.o –o hello ; gcc -o 调用链接器
-
使用gcc编译一个c程序
1、打开的gvim环境中输入i进入编辑模式,输入代码,保存为hello.c文件
2、打开后的界面输入:gcc hello.c -o hello
,编译成功,将会在当前目录生成一个可执行文件 hello.o
- 打开窗口
crtl+shift+T
打开三个窗口(vi gcc gdb)
gdb调试技术
-
gdb主要调试的是C/C++的程序。要调试C/C++的程序,首先在编译时,必须要把调试信息加到可执行文件中。如:
gcc -g hello.c -o hello
-
老师课上提醒使用GCC编译时一定要加“g”参数。
-
GDB基本命令:
gdb m(启动GDB) b 设断点(4种断点:函数断点、条件断点、临时断点,行断点) run (r)开始运行程序 info b n (next)单步运行 s (step) 单步运行 c(countinu)从当前断点继续运行到下一个断点 display 跟踪变量值的改变 quit 退出GDB until 结束循环 finish 结束函数
-
使用gdb调试c程序
教材学习中的问题和解决过程
代码调试中的问题和解决过程
-
问题1:编译出现错误,提示对“main”未定义的引用
-
问题1解决方案:后来查阅百度资料,知道是自己的不小心代码main写错了,后来经过改正成功编译运行
代码托管
(statistics.sh脚本的运行结果截图)
上周考试错题总结
结对及互评
点评模板:
-
博客中值得学习的或问题:
- 学习态度认真
-
代码中值得学习的或问题:
- 编写代码严谨
-
提出问题
-
第一章
什么是计算机系统?它包括什么?研究它有什么意义? -
第二章
计算机中的数据和平常我们生活中的数据有什么异同? -
第三章
为什么要学习汇编? -
第四章
ISA是什么? -
第五章
如何优化程序性能? -
第六章
存储系统层次结构分为什么? -
第七章
链接是如何进行的? -
第八章
常见异常怎么解决? -
第九章
虚拟存储器如何工作?它有什么特性? -
第十章
Unix I/O是什么? -
第十一章
网络编程步骤? -
第十二章
并发编程是什么?
本周结对学习情况
- [20155311](博客链接)
- 结对照片
- 结对学习内容
-vim内容
-gcc内容
-gdb内容
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 10/ 10 | 1/1 | 10/10 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
-
计划学习时间:15小时
-
实际学习时间:10小时
-
改进情况:学期初没有好好准备学习工作,且由于校庆一周内很繁忙,没有认真学习课程知识。以后一定会努力赶上进度认真学习。
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)