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静态函数库设计的主要内容,如果未能解决你的问题,请参考以下文章

[国嵌攻略][073][静态函数库设计]

Linux(程序设计):06---动态函数库与静态函数库(ldconfigldd命令与/etc/ld.so.conf)

Linux应用开发

Linux应用开发

linux中,包含静态库的动态库导出时,静态库的函数也被一并导出

Linux的静态函数库和动态函数库