Tento popis vypadá docela jasně:http://sourceware.org/binutils/docs/binutils/ranlib.html
Pokud tedy archivujete kolekci objektových souborů, řekněte:
$ ar r fruits.a apple.o orange.o pineapple.o
Poté běží
$ ranlib fruits.a
vytvoří index obsahu ovoce.a a uloží index do ovoce.a. To je užitečné pro propojení a v případě, že se objekty navzájem volají.
ranlib
přidává nebo aktualizuje soubory objektů ve statické knihovně. Linkery mohou při propojování používat statické knihovny, aby poskytovaly symboly, které kód potřebuje, aby fungoval (na rozdíl od zavaděče, který je hledá v dynamických knihovnách při spouštění spustitelného souboru).
ranlib vygeneruje index obsahu archivu a uloží jej do archivu. Index uvádí každý symbol definovaný členem archivu, který je přemístitelným objektovým souborem. Archiv s takovým indexem urychluje propojení s knihovnou a umožňuje rutinám v knihovně vzájemně se volat bez ohledu na jejich umístění v archivu.
zdroj:manuálová stránka ranlib