【库函数】Linux下动态库.so和静态库.a的生成和使用
warning:
这篇文章距离上次修改已过453天,其中的内容可能已经有所变动。
生成动态库(.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 环境变量用于指定动态库的搜索路径。
评论已关闭