静态库 

文件名:lib.c 
先编译成目标文件 gcc -o mylib.o -c lib.c 
然后创建静态库,将mylib.o放到libmylib.a中 ar rcs libmylib.a mylib.o 

ar”可直接将需要增加的.o文件简单的追加到静态库的末尾。ar命令中,"c"关键字告诉ar需要创建一个新库文件,"u"用来告诉ar如果a.o比库中的同名成员要新(这个参数可以省略),则用新的a.o替换原来的,"r"将文件插入备存文件中,上例中将mylib.o文件加入libmylib.a中。
最后:ranlib libmylib.a     其中“ranlib”来对静态库的符号索引表进行更新,"ar"之后将编译完成的.o文件直接加入到了库的末尾,却并没有更新库的有效符号表。连接程序进行连接时,在静态库的符号索引表中无法定位刚才加入的.o文件中定义的函数或者变量。这就需要在完成库成员追加以后让加入的所有.o文件中定义的函数(变量)有效,完成这个工作需要使用另外一个工具“ranlib”来对静态库的符号索引表进行更新。