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

    因第二周电脑没电没能交上作业,所以写博客补上。

    1-vi测试

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

    使用 gcc -Og -o prog main.c add.c sub.c mul.c div.c

    将光标移动到printf上按shift+k进入帮助界面

    2-gcc测试

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

    使用gcc ESc(c为小写)---iso分别对这5个文件进行预处理、编译、汇编后 使用gcc ~.o ~.o -o 随意名称对.0文件进行链接

    3-gdb测试

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

    使用gcc -g *.c -o test创建可gdb文件test,输入gdb test开始gdb调试,再输入 l(小写L)显示test文件内容。


    4-静态库测试

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

    输入ar -cr mymath.a add.o sub.o mul.o div.o 建立一个静态库,之后输入gcc -o 20155230 main.c ./mymath.a生成一个可执行文件20155230。 输入gcc -c -g main.cgcc -o main.c mymath.a对20155230进行gdb调试。

    5-共享库

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

    输入gcc -shared -fpic -o mymath.so add.c sub.c mul.c div.c建立一个共享库,再输入gcc -o 5230 main.c ./mymath.so,生成一个可执行文件5230。输入gcc -o main.c mymath.so对5230进行gdb调试

    6-makefile

    1 写出编译上面vi编辑代码的makefile,编译出来的目标文件为testmymath, 只用显式规则就可以.

    2 提交Make过程截图,要全屏,包含自己的学号信息

    换行后一定要按tab键,否则该文件无效。


    7-myod -tc -tx1的实现

    1 复习c文件处理内容

    • 该myod命令的实现使用了C语言的文件读取方法,及%c / %d / %x输出字符类型的不同。

    2 编写myod.c 用myod XXX实现Linux下od -tx -tc XXX的功能

    3 main与其他分开,制作静态库和动态库

    静态库实现:

    动态库实现:

    4 编写Makefile

    5 提交测试代码和运行结果截图, 提交调试过程截图,要全屏,包含自己的学号信息

    代码链接

    6 在博客园发表一篇博客,重点写遇到的问题和解决过

  • 相关阅读:
    SCU 4439 Vertex Cover|最小点覆盖
    SCU 4438 Censor|KMP变形题
    BZOJ 2152: 聪聪可可|点分治
    暑假集训-8.18总结
    AcWing 252. 树|点分治
    Proj THUDBFuzz Paper Reading: Field-aware Evolutionary Fuzzing Based on Input Specifications and Vulnerablity Metrics
    Proj THUDBFuzz Paper Reading: Semantic Fuzzing with Zest
    Proj THUDBFuzz Paper Reading: Smart Greybox Fuzzing
    Proj THUDBFuzz Paper Reading: Language-Agnostic Generation of Compilable Test Programs
    Proj THUDBFuzz Paper Reading: Fuzzing JS Engines with Aspect-preserving Mutation
  • 原文地址:https://www.cnblogs.com/J1n233/p/7605535.html
Copyright © 2011-2022 走看看