0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Keil& ; IAR生成库及库的说明与使用

黄工的嵌入式技术圈 来源:黄工的嵌入式技术圈 2020-03-20 14:09 次阅读

写在前面 Ⅰ

库,对于编程的人来说,都应该知道。但有很多初学者,及已经工作的朋友对库的理解还处于书本概念阶段,也就是没有生成和使用过库。

其实,还有很多朋友不知道printf打印函数是怎么回事,我们在代码中调用printf函数打印数据时,已经调用了标准的“微库”,这里可以参看我的文章:关于printf和scanf在开发STM32中的配置和应用

什么情况下要生成库?

1.代码模块化定型。也就是说模块代码的功能在经过无数次验证,并无误后,方便团队的协同开发,这个时候可以将模块代码生成库。

2.提供SDK给客户开发。这里一般是指源代码对客户不具有公开性的原因,包括某些特有算法、实现特有功能的具体过程等。

生成库的原则?

简单来说就是使代码结构化、模块化、源码不具公开性等。要求代码高内聚、低耦合

Keil、IAR如何生成库? Ⅱ

代码工程生成库的过程只需要对工程进行配置即可,这里再简单讲一下过程,其实在我“系列教程”中有相关内容。

Keil:Project -> Options for Target -> Output 勾选上“Create Library”即可。

IAR:Project -> Options -> General Options -> Output 勾选上“Library”即可。

静态库和动态库的区别? Ⅲ

上面Keil生成的库是以“.Lib”为后缀的文件,IAR是以“.a”为后缀的文件,你们知道他们是静态库还是动态库吗?

答案是:二者都是静态库。

为什么都是静态库呢? 先看一下静态库和动态库的区别就会知道。

简单的来说二者的区别:

静态库:就是在编译的时候直接将需要的代码连接进可执行程序中去;

动态库:就是在需要调用其中的函数时,根据函数映射表找到该函数然后调入堆栈执行。

从上面的描述可以知道,静态库是我们MCU开发者常用的一种,而动态库常用于Linux、Windows等开发场合。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • IAR
    IAR
    +关注

    关注

    5

    文章

    350

    浏览量

    36665
  • 静态库
    +关注

    关注

    0

    文章

    21

    浏览量

    7426
  • keil
    +关注

    关注

    68

    文章

    1212

    浏览量

    166843
收藏 人收藏

    评论

    相关推荐

    北美运营商AT&T认证中的VoLTE测试项

    北美运营商AT&T的认证测试内容涵盖了多个方面,以确保设备和服务的质量、兼容性以及用户体验。在AT&T的认证测试中,VoLTE(VoiceoverLTE)测试项是一个重要的组成部分
    的头像 发表于 12-06 16:52 126次阅读
    北美运营商AT&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;T认证中的VoLTE测试项

    数据数据恢复—通过拼接数据碎片恢复SQLserver数据

    一个运行在存储上的SQLServer数据,有1000多个文件,大小几十TB。数据每10天生成一个NDF文件,每个NDF几百GB大小。数据包含两个LDF文件。 存储损坏,数据
    的头像 发表于 10-31 13:21 200次阅读
    数据<b class='flag-5'>库</b>数据恢复—通过拼接数据<b class='flag-5'>库</b>碎片恢复SQLserver数据<b class='flag-5'>库</b>

    数据数据恢复—Oracle ASM实例无法挂载的数据恢复案例

    Oracle数据数据恢复环境&amp;故障: Oracle ASM磁盘组由4块磁盘组成。Oracle ASM磁盘组掉线 ,ASM实例不能mount。 Oracle数据故障分析&amp
    的头像 发表于 10-28 11:26 155次阅读
    数据<b class='flag-5'>库</b>数据恢复—Oracle ASM实例无法挂载的数据恢复案例

    北美运营商AT&amp;amp;amp;T认证的费用受哪些因素影响

    申请北美运营商AT&amp;T认证的价格因多种因素而异,包括产品类型、认证范围、测试难度等。一般来说,申请AT&amp;T认证的费用可能相对较高,因为AT&amp;T作为北美地区的主要电信运营商,其
    的头像 发表于 10-16 17:10 203次阅读
    北美运营商AT&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;T认证的费用受哪些因素影响

    onsemi LV/MV MOSFET 产品介绍 &amp;amp;amp; 行业应用

    01直播介绍直播时间2024/10/281430直播内容1.onsemiLV/MVMOSFET产品优势&amp;市场地位。2.onsemiLV/MVMOSFETRoadmap。3.onsemiT10
    的头像 发表于 10-13 08:06 384次阅读
    onsemi LV/MV MOSFET 产品介绍 &<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>; 行业应用

    FS201资料(pcb &amp;amp; DEMO &amp;amp; 原理图)

    电子发烧友网站提供《FS201资料(pcb &amp; DEMO &amp; 原理图).zip》资料免费下载
    发表于 07-16 11:24 0次下载

    北美运营商AT&amp;amp;amp;T认证入库产品范围名单相关

    AT&amp;T作为全球领先的通信服务运营商之一,通过AT&amp;T认证不仅是对产品质量的认可,更是产品打开北美市场大门的重要凭证。然而,或许您还不清楚AT&amp;T认证入库的产品范围,接下来
    的头像 发表于 06-28 16:58 444次阅读
    北美运营商AT&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;T认证入库产品范围名单相关

    解读北美运营商,AT&amp;amp;amp;T的认证分类与认证内容分享

    在数字化日益深入的今天,通信技术的稳定与安全对于个人、企业乃至整个国家都至关重要。作为北美通信领域的领军者,AT&amp;T一直致力于为用户提供高效、可靠的通信服务。而在这背后,AT&amp;T
    的头像 发表于 06-05 17:27 592次阅读
    解读北美运营商,AT&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;T的认证分类与认证内容分享

    FSP启动文件说明

    FSP启动文件说明
    的头像 发表于 06-04 08:06 454次阅读
    FSP<b class='flag-5'>库</b>启动文件<b class='flag-5'>说明</b>

    RA2在e² studio环境生成LIB操作

    RA2在e² studio环境生成LIB操作
    的头像 发表于 05-15 08:06 473次阅读
    RA2在e² studio环境<b class='flag-5'>生成</b>LIB<b class='flag-5'>库</b>操作

    在官方中发现GPIOx-&amp;gt;ODR这种写法,是什么意思,怎么中间会有-&amp;gt;?

    本人新手,刚接触st的芯片 在官方中发现GPIOx-&amp;gt;ODR这种写法,不知道这是什么意思,怎么中间会有-&amp;gt;? 请论坛上高手予以帮忙解答
    发表于 05-10 06:48

    STM32cubemx的KEIL有什么不同?

    STM32cubemx软件有对应各个系列芯片的. 使用cubemx,生成代码框架,比如生成MDK的代码框架。但MDK也有自己的PACK。那么MDK的PACK和CUBEMX的有什么区
    发表于 04-11 06:02

    在TSMaster中加载基于DotNet平台的Seed&amp;amp;amp;Key

    在UDS诊断过程中,会涉及到安全访问的问题,也就是所谓的Seed&amp;Key。TSMaster诊断模块支持通过.dll文件载入Seed&amp;Key算法用于安全访问解锁。在最近发布
    的头像 发表于 04-02 08:20 559次阅读
    在TSMaster中加载基于DotNet平台的Seed&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;Key

    Open RAN的未来及其对AT&amp;amp;T的意义

    3月14日消息,在“Connected America 2024”会议上,AT&amp;T高级副总裁兼网络首席技术官Yigal Elbaz讨论了Open RAN 的未来及其对AT&amp;T的意义。
    的头像 发表于 03-14 14:40 734次阅读

    OpenHarmony开源GPUMesa3D适配说明

    本文档主要讲解在OpenHarmony中,Mesa3D的适配方法及原理说明。 环境说明: OHOS版本: 适用3.2-Beta3及以上 内核版本: linux-5.10 硬件环境
    发表于 12-25 11:38