静态库:.o 优点:独立,编译完成后库文件就不需要了
缺点 :占用空间大,修改和维护不太方便
动态库:.so 优点:占用空间小,修改和维护方便。
缺点:程序运行时需要去找库。速度比静态库慢。
linux 静态库编译:
1 先使用gcc编译成 .o 文件 gcc -c hello.c
2 ar -r hello.o libhello.a
linux 静态库使用
gcc test.o libhello.a
gcc test.o -lhello -L. -l库名称 -L库所在路径
如果配置环境变量 环境变量名 LIBPRARY_PATH 为库路径配置
linux 动态库编译:
gcc -c -fpic hello.c
gcc -shared hello.o -o libhello.so
如果配置环境变量 环境变量名 LD_LIBPRARY_PATH 为库路径配置