当前位置:首页 » 《随便一记》 » 正文

Linux之动静态库

4 人参与  2024年02月26日 08:01  分类 : 《随便一记》  评论

点击全文阅读


今天我们来讲动静态库!

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

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

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

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

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

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

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

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

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

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

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

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

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

-l是用来指明库名字。

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

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


点击全文阅读


本文链接:http://zhangshiyu.com/post/69927.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1