2018-2019-1 20165316 《信息安全系统设计基础》第一周学习总结

2018-2019-1 20165316 《信息安全系统设计基础》第一周学习总结

教材学习内容总结

Chapter1

  1. 信息就是位+上下文。
  2. 预处理阶段(.c->cpp->.i),编译阶段(.i->cll->.s),汇编阶段(.s->as->.o),连接阶段(.o->ld->可执行)。
  3. 了解编译系统如何工作:优化程序性能;理解链接时出现的错误;避免安全漏洞。
  4. 系统的硬件组成——总线、I/O设备、主存、处理器。
  5. CPU操作——加载、存储、操作、跳转。
  6. 存储器层次结构:上一层存储器作为低一层存储器的高速缓存。
  7. 实现进程这个抽象概念需要低级硬件和操作系统软件之间的紧密合作。
  8. Amdahl定律

Chapter7

  1. 链接器完成的两个主要任务——符号解析、重定位
  2. Unix目标文件格式a.out
  3. ELF可重定位目标文件的格式,Windows使用PE格式
  4. ELF到节头部表的中间部分加ELF头为一节。
  5. ELF可重定位目标文件包含的每个节
  6. .symtab中的符号不包含对应于本地非静态程序变量的任何符合。

教材学习中的问题和解决过程

链接器分为静态和动态,有这个问题,动态链接器和静态有何区别。动态链接器是否有静态链接器不具备的功能。

代码调试中的问题和解决过程

  • 问题1:找不到 head.h 文件
  • 问题1解决方案:使用 -I[文件路径] 进行编译、汇编和链接。
  • 问题2:万能makefile出现错误,找不到.d文件
  • 问题2解决方案:无

代码托管

截图

上周考试错题总结

  • 3.main.c 调用了静态库libmath.a中的函数,编译main.c的指令是(AB)
    A .gcc -static main.c ./libmath.a -o main
    B .gcc -static main.c -L. -lmath -o main
    C .gcc -static main.c -L. -llibmath.a -o main
    D .gcc -static main.o ./libmath.a -o main
    没看到是多选

其他(感悟、思考等,可选)

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 156/200 2/2 20/20
posted @ 2018-09-23 21:43  treebeard  阅读(135)  评论(0编辑  收藏  举报