20155319 2017-2018-1《信息安全系统设计》第四周课堂测试、Makefile、myod
测试2-gcc测试
1.用gcc 进行预处理,编译,汇编,链接vi输入的代码
2.生成的可执行文件中要有自己的学号
提交预处理,编译,汇编,链接,运行过程截图,要全屏,包含自己的学号信息
运行结果
测试4-静态库的测试
- 除了main.c外,其他4个模块(add.c sub.c mul.c div.c)的源代码不想给别人,如何制作一个mymath.a静态库?main.c如何使用mymath.a?
- 提交静态库生成和调用过程截图(一定包含条件断点的),要全屏,包含自己的学号信息
相关知识 - 创建静态库,需要用到AR工具,命令如下:
gcc -c xxx.c
ar rcs xxxxx.a xxx.o xxx2.o
-其中后缀.a的文件是存档文件,是静态库。建立一个mymath19静态库,把add.o、sub.o、mul.o、div.o复制进这个静态库 gcc -static -o prog test.o ./xxxxx.a
- static告诉编译器驱动程序,链接器应该构成一个完全链接的可执行目标文件,prog是目标输出文件夹,./是指在当前路径下的xxxxx.a静态库.
运行结果
测试5-共享库
- 除了main.c外,其他4个模块(add.c sub.c mul.c div.c)的源代码不想给别人,如何制作一个mymath.so共享库?main.c如何使用mymath.so?
- 提交共享库生成和调用过程截图(一定包含条件断点的),要全屏,包含自己的学号信息
步骤:
生成一个动态库-->动态库的链接-->生成可执行文件
1.gcc -shared -fpic -o mymath.so add.c sub.c mul.c div.c
2.gcc -o suanshud main.c ./mymath.so
3../suanshud
运行结果
Myod
1 复习c文件处理内容
2 编写myod.c 用myod XXX实现Linux下od -tx -tc XXX的功能
main与其他分开,制作静态库和动态库
编写Makefile
5 提交测试代码和运行结果截图, 提交调试过程截图,要全屏,包含自己的学号信息
- od命令格式
od [<选项><参数>] [<文件名>]
- 以十六进制输出,默认以四字节为一组(一列)显示。
od -tx XX
、每列输出一字节od -tx1 XX