数据结构之静态库动态库


静态库 main.c add.c sub.c mul.c div.c operation.h
<1>gcc -c add.c sub.c mul.c div.c
<2>ar -cr libtest.a *.o
//所有的静态库都是libxxx.a test是当前静态库的库名
<3>gcc -o target main.c -ltest -L.
//-l库名 -L库路径

动态库
<1>gcc -fPIC -shared -o libdynamic.so add.c sub.c mul.c div.c
//-fPIC表示与位置无关 -shared表示创建共享库
<2>gcc -o target main.c -ldynamic -L.
<3>ldd target
//查看target所依赖的所有动态库
<4>将我们的动态库加载到指定位置
方法一:
mv libdynamic.so /lib64/
方法二:
export LD_LIBRARY_PATH=.
方法三:
先将动态库的绝对路径添加到/etc/ld.so.conf配置文件中
再执行ldconfig
最推荐的方式方法三

有时候,不小心知道了一些事,才发现自己所在乎的事是那么可笑。
原文地址:https://www.cnblogs.com/axjlxy/p/5859955.html