0


Linux之动静态库

今天我们来讲动静态库!

首先我们来粗粒度的划分一下动态库和静态库。

动态库就是只有一份库文件,所有想用该库的文件与改库文件建立链接,然后使用。这样可以提高代码复用率,避免重复拷贝产生没必要的内存消耗。

静态库,就是那个文件想用,就直接把库文件的内容拷贝过去,这样可以减少出现文件丢失的情况,略微提高运行速度,但是会造成巨大的空间消耗,大多数情况我们都选择动态库!

我们来通过写一个简单的计算器去探究动静态库。

首先我们看一下相关文件,至于具体的计算器实现代码太简单就不摆了。

这样我们得到所有的.o文件以后给别人就只需要把.o文件和代码丢给别人就可以了。

不需要一大堆之前的头文件,源文件了。

于是得到我们的第一个结论

然后我们再来学习静态库的生成。

然后如果我们直接链接就会报一堆错误!

这是因为gcc默认不认识第三方库文件,所以我们必须要指明文件!

但是我们发现仍然不行,原因是其真正的名字必须去掉lib和.a才行

然后-L.是表示在什么目录下(如果不加报错就加上)

-l是用来指明库名字。

如果是c标准库就不用加这些东西,所以我们以前从来没有加上过这些东西。

但是如果这个时候我们查ldd

标签: linux 运维 服务器

本文转载自: https://blog.csdn.net/qq_35639854/article/details/136121611
版权归原作者 炬火初现 所有, 如有侵权,请联系我们删除。

“Linux之动静态库”的评论:

还没有评论