8、静态函数库设计

函数库分类
函数库按照链接方式可分为
  1、静态链接库
  2、动态链接库

函数库 -存放位置

Linux应用程序使用的主要函数库均存放于/lib, /usr/lib目录下,其中采用*.so.*方式命名的是动态函数库,而以*.a方式命令的是
静态函数库。

静态链接库-特点
1、程序所要用到的库函数代码在链接时全部被copy到程序中。
2、导致的问题:如果有多个进程在内存中同时运行,并且使用了相同的库函数,那么就会有多份拷贝,这就是对空间的浪费。

使用静态库-编译选项

1.Linux下进行链接时 默认是链接动态库
2.如果需要使用静态库,需要使用编译选项

    -static

  例: gcc -static test.c -o test

制作静态库

1. gcc –c mylib.c –o mylib.o
2. ar cqs libmylib.a mylib.o
3. 将制作好的libmylib.a 复制到/usr/lib

使用静态库-编译选项

-lname:GCC在链接时,默认只会链接C函数库,而对于其他的函数库,则需要使用-l选项来显示地指明需要链接。
例:gcc test.c –lmylib -o test

posted @ 2019-02-22 22:57  earwen  阅读(138)  评论(0编辑  收藏  举报

致力于ARM及大数据应用开发&研究工作,专注ARM Cortex A系列开发和大数据前沿技术与趋势。

Font Awesome | Respond.js | Bootstrap中文网