# 2017-2018-1 20155232 《信息安全系统设计基础》第二周课堂实验

2017-2018-1 20155232 《信息安全系统设计基础》第二周课堂实验

实验三

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

未提交的原因:提交的完成一半的图,对gdb掌握不够熟悉。

在课堂上做实验三时遇到了问题:

使用

gcc -g example.c -o example

后才可以进行调试,不会再出现错误提示。

提交截图:

实验四

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

提交截图:

实验五

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

实验六

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

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

注意在做实验六的时候要注意会出现

missing separator stop

的错误:

MYOD

1 复习c文件处理内容

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

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

  2. 编写Makefile

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

思路:
编写了四个函数,其中三个分别是hexadecimal.c output.c ascii.c在主函数main.c中分别调用,以16进制输出,以ASCII码输出,输出txt文档内容。

遇到的问题:
忘记在每个函数中添加

#include"head.h"

以及忘记编写

head.h

文件,导致后续的静态库和动态库一直出现问题,出错显示没有那个文件或目录的提示,以及未定义的提示。定义一个文本文件5232.txt
然后通过

gcc *.c -g -o main

进行编译,运行。

之前在主函数中编写了一个循环由于循环编写的有问题,导致运行不出来。

后来改写后运行成功。

静态库:

动态库:

码云链接

posted @ 2017-09-27 23:14  短爪爪爪  阅读(227)  评论(3编辑  收藏  举报