2017-2018-1 20155204 《信息安全系统设计基础》第一周学习总结
2017-2018-1 20155204 《信息安全系统设计基础》第一周学习总结
教材学习内容总结
-
编译C语言:gcc hello.c
-
运行C语言:./a.out(名字可以定义:gcc hello.c -o hello)
-
信息=二进制+上下文
-
(1)预处理:gcc -E hello.c -o hello.i (2)产生汇编代码:gcc -S hello.c -o hello.s
(3)汇编转机器代码:gcc -c hello.s -o hello.o
(4)机器代码转汇编:objdump -d hello.o -
cgdb(1)b 函数名 设置函数断点
(2)b 行号 设置行断点
(3)b if
(4)tb
(5)run开始
(6)inf o查看断点
(7)step(s)
(8)next(n)
(9)continue(c) 下一断点
(10)quit
(11)print(p) 显示某一变量值
(12)finish 运行完函数
(13)until 运行完循环
(14)p 变量=某个值 给变量赋值继续运行
(15)断点分为:行断点、临时断点、函数断点、条件断点
(16)gcc main.c -L . -lhello(L显示静态库l连接)
教材学习中的问题和解决过程
- 问题1:p477有一行命令为 gcc -c main2.c,之后直接就用了main.o,不需要通过esc三步吗?
- 问题1解决方案:询问结对伙伴,是相同的。
- 问题2:动态链接共享库具体使用上跟静态库的区别在哪里?
- 问题2解决方案:直观的从书上看到静态库需要
.o
文件,而动态只需要.c
即可。准备问一下老师。
代码调试中的问题和解决过程
-
问题1:
-
问题1解决方案:使用命令 gcc -Og -o prog xxx.c xxxx.c连接这些文件成功
代码托管
本周结对学习情况
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 32/32 | 1/1 | 10/10 |