20171019课堂测试

第二周测试

用实验楼重新建立add.c,sub.c,div.c,main.c等文件,敲代码时间比较久,main.c文件代码敲错了,导致一直error。课下装上虚拟机,重新运行了一遍,这样以后文件可以直接保存在Linux系统中。

4-静态库的测试

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


首先将.c文件转化成.o文件,再把.o文件放在静态库中

ar rcs libmymath.a add.o mul.o div.o sub.o

通过gcc编译

gcc main.c -L. -lmymath

执行文件

./a.out

5-共享库

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

共享库和静态库类似:

首先把所有的.o文件放在libmymath中,.a是静态库后缀,.so是动态库后缀:

gcc -shared -fPIC -o libmymath.so *.o

sudo 使用管理员权限,复制libmymath动态库:

sudo cp libmymath.so /usr/lib
posted @ 2017-10-20 16:43  20179205王雅哲  阅读(133)  评论(1编辑  收藏  举报