zoukankan      html  css  js  c++  java
  • 2019-2020-1 20175209 《信息安全系统设计基础》第三周学习总结

    2019-2020-1 20175209 《信息安全系统设计基础》第三周学习总结

    教材知识点总结

    第三章主要讲述了程序机器级表示,通过对第三章的学习,对C语言文件编译时的汇编代码有了相关的了解,大致总结如下:

    • C语言代码的汇编过程,主要学习了gcc -Og -S -mian.c 命令,即汇编代码的生成,以及对可执行文件的反汇编命令odjdump -d main

    • 在上学期我们学习了汇编这门课程,而C语言的汇编代码和之前学习的80x86系统的汇编过程还是有所不同的

      • 关于立即数的加减运算,在汇编语言中会将立即数放置在运算指令的第二个运算数的位置,而C语言的汇编代码会将运算的立即数放在第一个运算数的位置,例如对于同样的运算算式x=x+8,在80x86系统中的格式为ADD AL,8 ,而在C语言中的格式为addb $8,%al;
    • 使用gdb调试代码

    教材学习中遇到的问题

    • 问题1:在利用-Og编译书上代码时main.c 时出现了找不到头文件stdio.h 的错误提示,开始认为是自己写的代码出现了问题,自己编译了测试代码后发现仍然存在该问题

    • 解决:百度了相关原因后发现由于虚拟机镜像文件的问题,有些虚拟机在下载gcc时不会下载C语言相关的头文件,需要自行下载,而在学习上一章时因为头文件都是自己编写的因此没有出现该错误。输入gcc apt-get install build-essential 命令下载相应头文件,具体可参考链接,再运行测试代码即可。

    • 对书上部分代码汇编过程的测试

  • 相关阅读:
    【bzoj4987】Tree 树形dp
    【bzoj5093】 [Lydsy1711月赛]图的价值 组合数+斯特林数+NTT
    【BZOJ2159】Crash的文明世界 斯特林数+树形dp
    python enumerate函数同时遍历索引和函数
    gensim ——训练word2vec词向量的使用方法。
    moses工具的配置详解
    linux下boost库的安装
    python 调用word2vec
    python 默认编码
    GIZA++工具的使用介绍
  • 原文地址:https://www.cnblogs.com/wangzihong0213/p/11668373.html
Copyright © 2011-2022 走看看