20145208 《信息安全系统设计基础》第2周学习总结
20145208 《信息安全系统设计基础》第2周学习总结
教材学习内容总结
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

静态库和共享库
- 
静态库制作(以实验为例) - 
gcc -c add.c sub.c mul.c div.c 
- 
ar rcvs libmymath.a add.o sub.o mul.o div.o 
- 
gcc main.c -o main -L. -lmymath (or gcc main.c ./libmymath.a -o main) 
 
- 
- 
共享库制作(以实验为例) - 
gcc -fPIC -c add.c sub.c mul.c div.c 
- 
gcc -shared -o libmymath.so add.o sub.o mul.o div.o 
- 
gcc -o main main.c -L. -lmymath 
- 
libmymath.so 要拷贝到/lib or /usr/lib 
 
- 

makefile
- 以实验为例
- gcc -c code.c -o code.o
- gcc -c prog.c -o prog.o
- gcc prog.o code.o -o test
教材学习中的问题和解决过程
问题一:敲入:wq 退出保存时,出现 E212:无法打开并写入文件 的错误提示。

- 
这是由于在该目录下当前用户没有写权限导致。 
- 
解决方案:在不需要root权限的文件夹中建立文件 
- 
或保存文件时用 : w ! sudo tee %(tee 用于读取输入文件,同时保存;%表示当前编辑文件 ) 
问题二:不能成功编译
- 如下错误:

- 源代码没有加stdio.h头文件
问题三:未定义引用

- 暂时合并到一个c文件中,但正确的解决方式应该不是这样
课后作业中的问题和解决过程
7.8
答:
- A.main.1,main.2;
- B.UNKNOWN;
- C.ERROR.
7.10
答:
- A.gcc p.o libx.a p.o
- B.gcc p.o libx.a liby.a libx.a
- C.gcc p.o liby.a libx.a liby.a libz.a
其他(感悟、思考等,可选)
代码托管截图

学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
|---|---|---|---|---|
| 目标 | 5000行 | 30篇 | 400小时 | |
| 第一周 | 0/0 | 1/2 | 20/20 | 学会了虚拟机安装和Ubuntu的基本操作 | 
| 第二周 | 56/56 | 1/3 | 20/40 | 学会了Ubuntu终端下的C语言编写 | 
参考资料
posted on 2016-09-25 13:00 20145208蔡野 阅读(271) 评论(0) 收藏 举报
 
                    
                 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号