Linux的ranlib到底为静态库添加了什么信息,何时需要用到?

bdfdui bdfdui 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
例如我有一个很简单的c文件,用来生成一个静态库:

$ cat o.c
#include<stdio.h>
int f(){
printf("hello\n");
return 2;
}

我编译和生成它

gcc -o o.o -c o.c
ar rc libmyobject.a o.o
cp libmyobject.a libmyobject.a.keep
ranlib libmyobject.a

然后比较使用ranlib前后,这个库的大小:

-rw-rw-r-- 1 a a 1626 Oct 3 12:03 libmyobject.a.keep
-rw-rw-r-- 1 a a 1626 Oct 3 12:06 libmyobject.a

文件大小一样的啊,似乎ranlib什么事情也没有做?
我看它的man:

DESCRIPTION
ranlib generates an index to the contents of an archive and stores it in the archive. The index lists each symbol defined by a member of an archive that is a relocatable object file.

号称是在库文件里面增添了一些所谓的index信息。这个信息在什么地方,用什么命令能看到?
什么时候需要用到这个信息呢?
...全文

相关推荐

评论 5
收藏 已收藏
分享
返回顶部
bdfdui
Linux/Unix社区 23,224 成员 74,535 内容