# 2017-2018-1 20155232 《信息安全系统设计基础》第二周课堂实验
2017-2018-1 20155232 《信息安全系统设计基础》第二周课堂实验
实验三
- 用gcc -g编译vi输入的代码
- 在main函数中设置一个行断点
- 在main函数增加一个空循环,循环次数为自己学号后4位,设置一个约为学号一半的条件断点
- 提交调试过程截图(一定包含条件断点的),要全屏,包含自己的学号信息
未提交的原因:提交的完成一半的图,对gdb掌握不够熟悉。
在课堂上做实验三时遇到了问题:
使用
gcc -g example.c -o example
后才可以进行调试,不会再出现错误提示。
提交截图:
实验四
- 除了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?
- 提交共享库生成和调用过程截图(一定包含条件断点的),要全屏,包含自己的学号信息
实验六
1 写出编译上面vi编辑代码的makefile,编译出来的目标文件为testmymath, 只用显式规则就可以.
2 提交Make过程截图,要全屏,包含自己的学号信息
注意在做实验六的时候要注意会出现
missing separator stop
的错误:
MYOD
1 复习c文件处理内容
2 编写myod.c 用myod XXX实现Linux下od -tx -tc XXX的功能
-
main与其他分开,制作静态库和动态库
-
编写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
进行编译,运行。
之前在主函数中编写了一个循环由于循环编写的有问题,导致运行不出来。
后来改写后运行成功。
静态库:
动态库: