ranlib 是什么?

ranlib 是什么?

我已经使用 MacOSX 系统一段时间了,但最近才开始深入了解。我发现一个指南告诉我运行“sudo ranlib /usr/local/lib/libjpeg.a”(安装 libjpeg)。我读过 ranlib 手册,并尝试在网上查找。我就是搞不懂。我需要查找哪些资源来了解更多信息,或者有人可以简明扼要地解释一下它的用法吗?提前谢谢!

答案1

ranlib添加或更新目标文件在一个静态库. 链接器可以在以下情况下使用静态库链接为了提供符号代码需要运行(而不是加载器寻找它们动态库运行可执行文件时)。

答案2

这个描述看起来很清楚:http://sourceware.org/binutils/docs/binutils/ranlib.html

因此,如果您存档一组目标文件,请说:

$ ar r fruits.a apple.o orange.o pineapple.o

然后运行

$ ranlib fruits.a

创建水果.a 内容的索引并将该索引存储在水果.a 中。这对于链接和对象相互调用的情况很有用。

答案3

ranlib 生成档案内容的索引并将其存储在档案中。索引列出了由可重定位目标文件档案成员定义的每个符号。具有此类索引的档案可加快链接到库的速度,并允许库中的例程相互调用,而无需考虑它们在档案中的位置。

来源:ranlib 手册页

答案4

Libtool 文档说它被用来给它一个更好的业力libtool 文档截图

相关内容