当前位置:  开发笔记 > 编程语言 > 正文

GCC编译的静态库包含什么?

如何解决《GCC编译的静态库包含什么?》经验,为你挑选了2个好方法。

我的应用程序链接libsamplerate.a.我这样做是为了让分发最终二进制文件更容易.

我担心.a文件中的代码可能依赖于我还需要分发的其他一些库.

但如果不这样做,我担心通过包含多个例如我的应用程序而过多地膨胀我的应用程序.libc中.

libsamplerate.a里面究竟是什么?只是libsamperate的字节码?或者更多?



1> Tim Robinson..:

.a文件基本上只是一组.o文件.您可以使用该ar工具演示此内容.

例如,要显示库的内容:

ar -t libsamplerate.a

要从头创建.a文件:

ar -r tim.a *.txt



2> Robert Gambl..:

静态库只是目标文件的集合.当您针对静态库编译程序时,程序使用的函数的目标代码将从库中复制到可执行文件中.链接静态库不会导致该库外的任何函数包含在您的代码中.

推荐阅读
殉情放开那只小兔子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有