8静态函数库设计
Posted earwen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
以上是关于8静态函数库设计的主要内容,如果未能解决你的问题,请参考以下文章
Linux(程序设计):06---动态函数库与静态函数库(ldconfigldd命令与/etc/ld.so.conf)