目前,Linux系统越来越受到电脑用户的欢迎,于是很多人开始学习Linux时,在这期间,你可能会遇到Linux动态库的编写的知识,这里将介绍Linux动态库的编写知识,希望能学会。
四、动态库的编写
1、概述
动态库一般以.so结尾,就是shared object的意思.
其基本生成步骤为
⑴编写函数代码
⑵编译生成动态库文件,要加上 -shared 和 -fpic 选项 , 库文件名以lib开头, 以.so 结尾。
使用方式分为两种: 隐式调用和显示调用
隐式调用类似于静态库的使用,但需修改动态链接库的配置文件/etc/ld.so.conf;显示调用则是在主程序里使用dlopen、dlsym、dlerror、dlclose等系统函数。具体的调用方式会在 "五、动态库的调用" 中详细说明.
2、编写最简单的动态库文件
为了便于对照, 我们仍然采用静态库中的文件做例子.
编写如下两个文件,注意放在同一目录中
- myalib.h//静态库头文件
- myalib.c//静态库实现文件
- //myalib.h 文件的内容
- void test();
- //myalib.c 文件的内容
- #inlcude <stdio.h>
- void test()
- {
- printf("test\n");
- }
3、编译生成动态库 ,库文件名以lib开头, 以.so 结尾。
gcc -fpic -shared -o libtest.so myalib.c
此时就生成一个libtest.so文件,以上就是Linux动态库的编写的知识。
【编辑推荐】