2017-2018-1 20155232 《信息安全系统设计基础》第1周学习总结
2017-2018-1 20155232 《信息安全系统设计基础》第1周学习总结
教材学习内容总结
第一周学习第一张和第七章:
- 第一章内容:
信息=位串+上下文
GCC编译器驱动程序读取源程序文件,并把他翻译成一个可执行文件有四个阶段:
cpp(预处理器),ccl(编译器),as(汇编器),ld(链接器)
-
预处理: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
-
第七章:
主要介绍了链接的定义:是将各种代码和数据的片段收集并组合成一个单一的文件过程,这个文件可被加载到到内存执行。
静态链接:以一组可重定位目标文件的命令行参数作为输入,生成完全链接,可加载,运行的输出:目标文件。
共享库:解决静态库缺陷的产物,在运行共享库时可以加载到任意内存地址,并和一个程序链接起来,过程称为动态链接。
教材学习中的问题和解决过程
1.编译器如何运行工作?
2.计算机的表示法是用有限数量的位来对一个数字编码,当运算结果太大导致溢出时会出现什么后果?
3.能否在c中插入汇编代码?具体是什么方法?
4.存储器的现实结构是怎样的?
5.在程序优化的过程中,程序员应该考虑哪些?
6.存储器山具体指什么,有什么功能?
7.学习链接的知识有什么用途?
8.异常处理程序完成处理后,会发生什么情况?
9.为什么说虚拟内存是危险的?
10.系统级I/O重定向是如何工作的?
11.HTTP事务具体包含了什么内容?
12.如何构造并发程序?
代码调试中的问题和解决过程
- 问题1:objdump是用查看目标文件或者可执行的目标文件的构成的GCC工具,objdump的使用方法有什么?
- 问题1解决方案:
- 在百度上查了一下,找到了相关较为详细的介绍:
objdump的使用
代码托管
上周考试错题总结
无
结对及互评
点评模板:
- 博客中值得学习的或问题:
- xxx
- xxx
- ...
- 代码中值得学习的或问题:
- xxx
- xxx
- ...
- 其他
本周结对学习情况
- [结对同学学号1](博客链接)
- 结对照片
- 结对学习内容
- XXXX
- XXXX
- ...
学习成果(感悟、思考等,可选)
首先编写一个hello.c的文件,
用命令
gcc hello.c
进行编译后,会出现a.out文件,
再用
./a.out
运行。
出现hello,world。
用命令
od -tc -tx1 hello.c
以16进制一个字节一个字节的查看:
用命令
gcc -E hello.c -o hello.i
进行编译预处理。
用命令
gcc -S hello.i -o hello.s
产生汇编代码:
用命令
gcc -C hello.s -o hello.o
产生乱码:
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第四周 | 12/12行 | 1/1 | 20/20 |
尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式
:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。
-
计划学习时间:18小时
-
实际学习时间:20小时
-
改进情况:
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步