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小时

  • 改进情况:

(有空多看看现代软件工程 课件
软件工程师能力自我评价表
)

参考资料

posted @ 2017-09-24 22:56  短爪爪爪  阅读(224)  评论(6编辑  收藏  举报