ranlib
- generates an index to the contents of an archive
ranlib
是random access library
的简写。
ranlib
为静态库
的符号建立索引,可以加速链接,因此称用ranlib
处理过的静态库
为random access library
。
注意:ranlib
可以被ar -s替代。
ar最初只是单纯的用来将多个.o
文件打包到.a
文件,类似于tar做的事情。
ld在链接.a
文件的时候,需要.a
里的完整的符号表,为了加快链接的速度,人们想到要给这些符号建立一个索引, 本着一个工具只做一件事
的原则,就开发出ranlib
,让他专门来干这件事情。
后来,人们把ranlib
做得事情合并到ar里面去了,于是现在的ar程序就包括了ranlib
的功能, 但早期的很多项目的Makefile
都已经是按照两步式的方法生成.a
文件,所以为了保证这些早期文件的兼容性,ranlib
被保留下来了。
示例:
ranlib libxx.a