20155319 2017-2018-1《信息安全系统设计》第四周课堂测试、Makefile、myod

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的功能

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

  2. 编写Makefile

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

  • od命令格式od [<选项><参数>] [<文件名>]
  • 以十六进制输出,默认以四字节为一组(一列)显示。od -tx XX、每列输出一字节od -tx1 XX

原文地址:https://www.cnblogs.com/rhl20155319/p/7617638.html