(七)linux下共享库开发的流程

来源:互联网 发布:数据库分析工具 编辑:程序博客网 时间:2024/05/02 01:29

一.共享库:没复制函数,只是记录了用了哪些符号,在哪用。代码少,多程序可共享一个库。但是运行时还需要共享库。升级方便。系统更多的使用的是共享库。

二创建和使用:1。确定函数和函数接口2。编译gcc -c -fPIC hello.c bye.c -Wall 其中-fPIC告诉编译器生成位置无关代码,可被加载到任意空间执行生成了.o文件

3。创建共享库common 用gcc -shared -o libcommon.so.1 hello.o bye.o  其中.1是库的版本可变为.2 .3等需要版本兼容 4。为共享库创建符号链接(链接文件)编译器编译时候可以找到。ln -s libcommon.so.1 libcommon.so       其中libcommom.so必须用lib开始,用.so结尾 5。为库编写头文件 6。主程序编译是gcc -o test test.c -L. -lcommon 但是个共享库加载时候值搜索了系统默认目录下的 所以可以添加共享库的加载路径export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:..原来路径加多的路径后面加一个点表示当前

或者直接拷到/usr/lib和lib下但是不建议   上面第一种方法只是带当前shell下改变了环境变量

最终的处理方法是在/etc/ld.so.conf.d/*.conf文件加动态库路径,是sudo vi /etc/ld.so.conf.d/my.cofg  在里面加上路径/  运行 sudo ldconfig刷新。