zoukankan      html  css  js  c++  java
  • # 20155337 2017-2018-1 《信息安全系统设计基础》第二周课堂实践+myod

    20155337 2017-2018-1 《信息安全系统设计基础》第二周课堂实践+myod

    因为在课上已经提交了四个实验,还欠缺最后一个实验,反省一下自己还是操作不熟练,平时在课下应该多多练习linux的命令训练。

    实践一

    • 每个* .c一个文件,每个*.h一个文件,文件名中最好有自己的学号
    • 用Vi输入图中代码,并用gcc编译通过
    • 在Vi中使用K查找printf的帮助文档
    • 提交vi编辑过程截图,要全屏,包含自己的学号信息
      截图

    在课堂实践一中,我们应该把所有的文件放在一个新的自己创建的文件夹里,这样用gcc编译的时候才不会出错,头文件也不会出现找不到的情况,因为自己做的时候没有注意到这一点所以课堂实践一做的很慢。

    实践二

    • 用gcc 进行预处理,编译,汇编,链接vi输入的代码
    • 生成的可执行文件中要有自己的学号
    • 提交预处理,编译,汇编,链接,运行过程截图,要全屏,包含自己的学号信息
      截图

    课堂实践二做起来就得心应手多了,按照老师的要求将命令输入就可以啦,但要注意编译的顺序

    1.gcc -E .c -o .i 编译预处理
    2.gcc -S .i -o .s 产生汇编代码
    3.gcc -c .s -o .o 进行汇编
    4.gcc * .o -o XXX 生成可执行文件
    

    实践三

    • 用gcc -g编译vi输入的代码
    • 在main函数中设置一个行断点
    • 在main函数增加一个空循环,循环次数为自己学号后4位,设置- 一个约为学号一半的条件断点
    • 提交调试过程截图(一定包含条件断点的),要全屏,包含自己的学号信息

    截图

    实验三是gdb调试代码,在调试代码中注意下面的命令

    • run 简写为r,这个命令是用来运行程序的,在一开始需要现运行程序
    • break 简写为不,这个命令是设置断点的命令,也是我们调试的时候需要用到的重要命令
    • b X(整数) 设置断点,在源程序第X行
    • b X(整数) if i==X 设置条件断电,在for循环后一行设置。
      -next 简写为n,这个命令是跳过函数进行下一行代码的调试。
      -step 简写为s,这个命令是调试进入函数并循环。
      -quit 简写为q,这个命令是退出单步调试环节。

    实践四

    • 除了main.c外,其他4个模块(add.c sub.c mul.c div.c)的源代码不想给别人,如何制作一个mymath.a静态库?main.c如何使用mymath.a?
    • 提交静态库生成和调用过程截图(一定包含条件断点的),要全屏,包含自己的学号信息
      截图

    静态库的这个实践是询问同学的前提下,按照课本上的代码一步一步写下来的,创建了静态库。

    实践五

    • 除了main.c外,其他4个模块(add.c sub.c mul.c div.c)的源代码不想给别人,如何制作一个mymath.so共享库?main.c如何使用mymath.so?
    • 提交共享库生成和调用过程截图(一定包含条件断点的),要全屏,包含自己的学号信息
      截图

    和静态库一样,也是按照课本上一步一步写代码就实现了动态库。这里需要用到使用到的命令gcc -shared -fpic -o XX.so XX1.c 这条命令。

    实践六

    -写出编译上面vi编辑代码的makefile,编译出来的目标文件为testmymath, 只用显式规则就可以.
    -提交Make过程截图,要全屏,包含自己的学号信息
    截图

    使用到的命令

    • vi makefile写makefile文本
    • 保存后退出输入make
    • 输入./testmymath

    myod

    • 复习c文件处理内容
    • 编写myod.c 用myod XXX实现Linux下od -tx -tc XXX的功能
    • main与其他分开,制作静态库和动态库
    • 编写Makefile
    • 提交测试代码和运行结果截图,要全屏,包含自己的学号信息
      截图
  • 相关阅读:
    预备作业02-162315马军
    预备作业01-162315马军
    # 2017-2018-1 20155224 《信息安全系统设计基础》第四周学习总结
    # 2017-2018-1 20155224 《信息安全系统设计基础》第3周学习总结
    # 第二周课堂实践以及MyOD
    # 2017-2018-1 20155224 《信息安全系统设计基础》第1周学习总结
    # 20155224 2016-2017-2《Java程序设计》课程总结
    # 20155224 实验五 Java网络编程及安全
    # 20155224 课堂实践 MyOD
    # 20155224 实验四 Android程序设计
  • 原文地址:https://www.cnblogs.com/Twe1vE/p/7616533.html
Copyright © 2011-2022 走看看