zoukankan      html  css  js  c++  java
  • 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小时

    • 改进情况:

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

    参考资料

  • 相关阅读:
    iOS开发UI篇—Quartz2D使用(截屏)
    iOS开发UI篇—Quartz2D使用(信纸条纹)
    iOS开发UI篇—Quartz2D使用(绘图路径)
    iOS开发UI篇—Quartz2D简单使用(三)
    戴文的Linux内核专题:04安全
    戴文的Linux内核专题:03驱动程序
    戴文的Linux内核专题:02源代码
    戴文的Linux内核专题:01介绍
    nginx+php+扩展件安装实践版
    git常用命令
  • 原文地址:https://www.cnblogs.com/lsqsjsj/p/7589180.html
Copyright © 2011-2022 走看看