构造静态库
构造静态库要使用 AR 工具
构造方法:gcc –c addvec.c multvec.c //生成addvec.o和multvec.o 目标文件
ar rcs libvector.a addvec.o multvec.o //生成libvector.a 静态库
使用静态库:可能包含类似 libvector.h 这样的头文件,里面包含了使用函数的声明
gcc main.c libvector.a
使用如上方法 构造出 lib.a静态库,使用此静态库生成了a.out可执行文件。
构建动态库
动态库的优点:1.如果静态库更新,则链接了静态库的程序需要重新编译。
2.很多程序链接了相同的静态库,程序运行时代码有很多相同的拷贝。
链接了共享库的程序在运行时由动态链接器将程序与动态库链接,并且在内存中只保留一份拷贝。
构造动态库的方法:gcc –shared –fPIC –o libvetor.so addvec.c multvec.c
生成的动态库libvetor.so要放到 /usr/lib 或者 /lib 等目录下,程序运行的时候才能搜索到此共享库。共享库的默认搜索路径/usr/lib 和/lib
使用共享库:gcc main.c libvector.so