【库函数】Linux下动态库.so和静态库.a的生成和使用
warning:
这篇文章距离上次修改已过204天,其中的内容可能已经有所变动。
生成动态库(.so):
gcc -shared -o libmylib.so -fPIC mylib.c
生成静态库(.a):
gcc -c -o mylib.o mylib.c
ar rcs libmylib.a mylib.o
使用静态库时,链接到可执行文件:
gcc -o myprogram main.c libmylib.a
使用动态库时,链接到可执行文件并且确保动态库在系统的库路径下:
gcc -o myprogram main.c -L. -lmylib
export LD_LIBRARY_PATH=.
./myprogram
注意:-fPIC
用于编译生成位置无关的代码,使得动态库可以在不同的地址被加载。-L.
指定了库的搜索路径,-lmylib
指定了链接的库名称,假设动态库名为 libmylib.so
。LD_LIBRARY_PATH
环境变量用于指定动态库的搜索路径。
评论已关闭