ranlib
如果我需要/进行静态链接以及为什么需要静态链接,我没有找到任何适当的信息ar -s
。
假设我有一个由多个模块组成的应用程序。每个模块都有自己的代码文件在自己的文件夹中,目标文件在自己的文件夹中创建:module1/%.c → bin/module1/%.o
. 我为每个模块创建一个.a
文件:ar -rc bin/module1.a bin/module1/….o
. 整个程序使用gcc bin/module1.a … moduleN.a -o bin/app
.
在这种情况下,为文件创建索引有.a
什么作用?即使我不向文件添加索引,编译和程序也能正常工作。.a
但是我发现的每个示例都是ranlib
在将最后一个目标文件添加到存档之后调用的。
问题不是 Linux / Mac / Windows 特定的。