共享代码可以提高效率,但为了代码的安全性等原因,一般很少保留c文件,而是通过将c文件编译成 .o文件,
通过共享h文件和.o文件来实现共享代码。
多个.o文件管理起来比较麻烦,如果把这些文件打包成一个库,通过链接库来调用里面的函数是一种常用的方法。
一般分为静态库(存档)和动态库。
创建存档
存档是静态库,形式为libxxx.a 。可以用ar命令来创建存档
ar -rcs libxxx.a a.o b.o ......
此时将a.o 和 b.o 打包在libxxx.a的静态库中
使用:
<1>将libxxx.a放入标准目录中
此时编译时,不用指定库文件的路径 gcc -lxxx 即可链接该库
<2>将libxxx.a放入自己设定的目录中
此时编译时,需要指定库目录 gcc -L /路径/ -lxxx
创建动态库
gcc -shared x.o -o libxxx.so (linux或unix)
libxxx.dylib (mac)
使用方法同静态库。