linux C/C++静态库制作

embedded/2024/9/22 22:11:16/
  • 概念:程序在编译时会把库文件的二进制代码链接到目标程序中,这种方式称为静态链接。

    如果多个程序中用到了同一静态库中的函数或类,就会存在多份拷贝。

  • 特点:

    • 静态库的链接是在编译时期完成的,执行的时候代码加载速度快。

    • 目标程序的可执行文件比较大,浪费空间。

    • 程序的更新和发布不方便,如果某一个静态库更新了,所有使用它的程序都需要重新编译。

├── app
│ └── demo.cpp
└── tools
├── public.cpp
└── public.h

静态库制作

[root@localhost tools]# g++ -c -o libpublic.a public.cpp

├── app
│ └── demo.cpp
└── tools
├── libpublic.a
├── public.cpp
└── public.h

编译

g++ -o demo demo.cpp -L/home/root/code/02demo/tools -lpublic

├── app
│ ├── demo
│ └── demo.cpp
└── tools
├── libpublic.a
├── public.cpp
└── public.h


推荐一个零声学院项目课,个人觉得老师讲得不错,分享给大家:
零声白金学习卡(含基础架构/高性能存储/golang云原生/音视频/Linux内核)
https://xxetb.xet.tech/s/3Zqhgt


http://www.ppmy.cn/embedded/45136.html

相关文章

Flutter开发指南

Flutter开发指南(Android 开发角度) 与Android 的对比 1.Android 的View 与Flutter 的对应关系: a.在android 中,view 是屏幕显示的基础,比如 button,文本,列表,输入框都是 view。…

Thinkphp5响应式进销存仓库管理系统

随着企业规模的不断扩大和市场竞争的日益激烈,进销存管理在企业的运营中扮演着越来越重要的角色。为了提高企业的运营效率,降低库存成本,提升客户满意度,越来越多的企业开始引入进销存仓库管理系统。 进销存仓库管理系统是一种集…

记录一次前端页面崩溃的产生及处理

记录一次前端页面崩溃的产生及处理 ​  起因:前端的一个地图页面某一些单子一点进去,就会导致页面卡死、崩溃,浏览器最终给的错误码为:out of memory。 ​  排查:OOM!第一反应是猜测会不会是因为地图要…

rocketmq跨版本升级方案参考—— 筑梦之路

这篇文章写的比较好,可以作为参考,抽空再来按照这个思路进行实践实验。 https://www.cnblogs.com/zhyg/p/10132598.html 对于rocketmq和kafka如何选择,可阅读搭建项目 Kafka 和 RocketMQ 你选哪个?

GPT-4o:人工智能新时代的先锋

如何评价GPT-4o? 简介:最近,GPT-4o横空出世。对GPT-4o这一人工智能技术进行评价,包括版本间的对比分析、GPT-4o的技术能力以及个人感受等。提醒:在发布作品前,请把不需要的内容删掉。 方向一:对比分析 提…

Scala 柯里化、sortBy方法

Scala高级特性 小白的Scala学习笔记 2024/5/30 8:42 文章目录 Scala高级特性柯里化sortBy方法 柯里化 参数可以写在两个括号里面 object TestKeli {def add(a:Int)(b:Int)abdef main(args: Array[String]): Unit {val res add(22)(33)println(res)} }可以填隐式参数&#x…

word里面没有Acrobat选项

加载项被禁止,选择项里面,没有Acrobat选项 文件-》选项 加载项-》com加载项-》转到 添加Acrobat 出现Acrobat选项

如何在操作系统中合并 PDF 文件?不同系统有不同的方法

Windows 系统 在 Windows 系统中想要合并 PDF 文件我们可能需要借助一些第三方的软件或者浏览器的插件。 我们可以在 Google 浏览器中的 Chrome 应用商店中输入“Merge pdf”这样就可以搜索到在线合并 PDF 文件的插件,只需要下载到浏览器中就可以直接使用。当然 Ed…