91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

由庫引生出來的話題

黃工的嵌入式技術(shù)圈 ? 來源:黃工的嵌入式技術(shù)圈 ? 2020-03-14 14:36 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

寫在前面 Ⅰ

庫,對于編程的人來說,都應(yīng)該知道。但有很多初學(xué)者,及已經(jīng)工作的朋友對庫的理解還處于書本概念階段,也就是自己沒有生成及使用過庫。

其實,還有很多朋友不知道printf打印函數(shù)是怎么回事,我們在代碼中調(diào)用printf函數(shù)打印數(shù)據(jù)時,已經(jīng)調(diào)用了標(biāo)準(zhǔn)的“微庫”,這里可以參看我的文章:關(guān)于printf和scanf在開發(fā)STM32中的配置和應(yīng)用

什么情況下要生成庫?

1.代碼模塊化定型。也就是說模塊代碼的功能在經(jīng)過無數(shù)次驗證,并無誤后,方便團(tuán)隊的協(xié)同開發(fā),這個時候可以將模塊代碼生成庫。

2.提供SDK給客戶開發(fā)。這里一般是指源代碼對客戶不具有公開性的原因,包括某些特有算法、實現(xiàn)特有功能的具體過程等。

生成庫的原則?

簡單來說就是使代碼結(jié)構(gòu)化、模塊化、源碼不具公開性等。要求代碼高內(nèi)聚、低耦合。

Keil、IAR如何生成庫? Ⅱ

代碼工程生成庫的過程只需要對工程進(jìn)行配置即可,這里再簡單講一下過程,其實在我“系列教程”中有相關(guān)內(nèi)容。

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

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

庫在工程的使用方法 Ⅲ

“.Lib”、“.a”這種庫大家可以理解為“.c”,只是它已經(jīng)經(jīng)過處理而已。我們只需要像添加“.c”文件,將其添加到工程即可。如下圖,我們將STM32F10x_StdPeriph_Driver標(biāo)準(zhǔn)外設(shè)庫生成“STM32F10x_StdPeriph_Driver.a”庫,添加到工程中:

靜態(tài)庫和動態(tài)庫的區(qū)別? Ⅳ

上面Keil生成的庫是以“.Lib”為后綴的文件,IAR是以“.a”為后綴的文件,你們知道他們是靜態(tài)庫還是動態(tài)庫嗎?

答案是:二者都是靜態(tài)庫。

為什么都是靜態(tài)庫呢? 先看一下靜態(tài)庫和動態(tài)庫的區(qū)別就會知道。

簡單的來說二者的區(qū)別:

靜態(tài)庫:就是在編譯的時候直接將需要的代碼連接進(jìn)可執(zhí)行程序中去;

動態(tài)庫:就是在需要調(diào)用其中的函數(shù)時,根據(jù)函數(shù)映射表找到該函數(shù)然后調(diào)入堆棧執(zhí)行。

從上面的描述可以知道,靜態(tài)庫是我們MCU開發(fā)者常用的一種,而動態(tài)庫常用于Linux、Windows等開發(fā)場合。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    147

    文章

    18934

    瀏覽量

    398527
  • IAR
    IAR
    +關(guān)注

    關(guān)注

    5

    文章

    410

    瀏覽量

    38556
  • 模塊化
    +關(guān)注

    關(guān)注

    0

    文章

    356

    瀏覽量

    22699
  • keil
    +關(guān)注

    關(guān)注

    69

    文章

    1230

    瀏覽量

    172665
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    芯源有KiCAD的元件嗎?

    一直以來都是用免費開源的KiCAD畫板子的,不知道芯源有沒有做自己芯片的KICAD。 如果有的話,發(fā)個貼分享分享啊,我去下載。
    發(fā)表于 01-27 14:48

    IEEE 802.11af 與空白頻譜無線技術(shù)的話題

    IEEE 802.11af 與空白頻譜無線技術(shù)的話題
    的頭像 發(fā)表于 12-14 15:12 ?1611次閱讀

    求助論壇內(nèi)各位大佬給準(zhǔn)實習(xí)生出出招

    使用C語言,最近有在刷C語言八股文; 2.熟練設(shè)置 使用51、STM32片上外設(shè),最近也在復(fù)習(xí)片上外設(shè)的知識點; 3.標(biāo)準(zhǔn)和HAL(CubeMX)都會使用; 4.會畫板子,但是由于偏好軟件所以硬件
    發(fā)表于 11-30 12:11

    第三屆望車聯(lián)網(wǎng)安全大會圓滿結(jié)束

    2025年10月18日,深圳望智能技術(shù)有限公司(以下簡稱“望”)在東莞舉辦“第三屆望車聯(lián)網(wǎng)安全大會”。
    的頭像 發(fā)表于 10-21 09:32 ?700次閱讀

    HTTP開發(fā)必備:核心與httpplus擴(kuò)展應(yīng)用示例全攻略

    HTTP開發(fā)的必備參考!本文匯總核心基礎(chǔ)操作與httpplus擴(kuò)展高級特性,通過示例解析,讓你快速上手各類HTTP開發(fā)需求。
    的頭像 發(fā)表于 09-20 15:19 ?3206次閱讀
    HTTP開發(fā)必備:核心<b class='flag-5'>庫</b>與httpplus擴(kuò)展<b class='flag-5'>庫</b>應(yīng)用示例全攻略

    廣汽集團(tuán)亮相金磚國家媒體智高端論壇

    近日,新華通訊社聯(lián)合巴西通訊公司共同主辦的金磚國家媒體智高端論壇在巴西里約熱內(nèi)盧舉行,來自包括金磚成員國及伙伴國在內(nèi)的36個國家近150家媒體、智、政府機(jī)構(gòu)和企業(yè)以及中美洲議會等地區(qū)組織的250余名代表出席論壇,共話金磚國
    的頭像 發(fā)表于 07-24 17:32 ?885次閱讀

    數(shù)據(jù)數(shù)據(jù)恢復(fù)—服務(wù)器異常斷電導(dǎo)致Oracle數(shù)據(jù)故障的數(shù)據(jù)恢復(fù)案例

    Oracle數(shù)據(jù)故障: 某公司一臺服務(wù)器上部署Oracle數(shù)據(jù)。服務(wù)器意外斷電導(dǎo)致數(shù)據(jù)報錯,報錯內(nèi)容為“system01.dbf需要更多的恢復(fù)來保持一致性”。該Oracle數(shù)據(jù)
    的頭像 發(fā)表于 07-24 11:12 ?652次閱讀
    數(shù)據(jù)<b class='flag-5'>庫</b>數(shù)據(jù)恢復(fù)—服務(wù)器異常斷電導(dǎo)致Oracle數(shù)據(jù)<b class='flag-5'>庫</b>故障的數(shù)據(jù)恢復(fù)案例

    GUI Guider全新優(yōu)化方案GUI xTurbo-VeloRender初體驗:基于i.MX RT平臺的LVGL渲染能力突破

    ,并在GUI Guider V1.9.1及以后版本工具中支持基于該技術(shù)方案不斷衍生出來的最新成果。 該技術(shù)方案旨在將恩智浦在GUI領(lǐng)域深耕多年的經(jīng)驗,結(jié)合自身的MCU控制器IP底層技術(shù),轉(zhuǎn)化為能夠顯著提升用戶GUI顯示體驗的解決方案。而此次更新將包含首個優(yōu)化成果VeloRender方案,旨在革
    的頭像 發(fā)表于 07-10 09:21 ?3761次閱讀
    GUI Guider全新優(yōu)化方案GUI xTurbo-VeloRender初體驗:基于i.MX RT平臺的LVGL渲染能力突破

    數(shù)據(jù)數(shù)據(jù)恢復(fù)—SQL Server數(shù)據(jù)被加密如何恢復(fù)數(shù)據(jù)?

    SQL Server數(shù)據(jù)故障: SQL Server數(shù)據(jù)被加密,無法使用。 數(shù)據(jù)MDF、LDF、log日志文件名字被篡改。
    的頭像 發(fā)表于 06-25 13:54 ?685次閱讀
    數(shù)據(jù)<b class='flag-5'>庫</b>數(shù)據(jù)恢復(fù)—SQL Server數(shù)據(jù)<b class='flag-5'>庫</b>被加密如何恢復(fù)數(shù)據(jù)?

    AD封裝安裝教程

    電子發(fā)燒友網(wǎng)站提供《AD封裝安裝教程.pdf》資料免費下載
    發(fā)表于 06-19 15:35 ?3次下載

    SQLSERVER數(shù)據(jù)是什么

    SQL Server 是微軟公司開發(fā)的一款 關(guān)系型數(shù)據(jù)管理系統(tǒng)(RDBMS) ,用于存儲、管理和檢索結(jié)構(gòu)化數(shù)據(jù)。它是企業(yè)級應(yīng)用中廣泛使用的數(shù)據(jù)解決方案之一,尤其適用于Windows平臺,但也
    的頭像 發(fā)表于 05-26 09:19 ?1177次閱讀

    MySQL數(shù)據(jù)是什么

    MySQL數(shù)據(jù)是一種 開源的關(guān)系型數(shù)據(jù)管理系統(tǒng)(RDBMS) ,瑞典MySQL AB公司開發(fā),后被Oracle公司收購。它通過結(jié)構(gòu)化查詢語言(SQL)進(jìn)行數(shù)據(jù)存儲、管理和操作,廣泛應(yīng)用于Web
    的頭像 發(fā)表于 05-23 09:18 ?1224次閱讀

    PCB標(biāo)準(zhǔn)封裝文件

    PCB標(biāo)準(zhǔn)封裝文件
    發(fā)表于 05-22 17:43 ?10次下載

    HPI 4.6擎說明書維修手冊

    hpi 4.6擎維修手冊 配件規(guī)格說明書
    發(fā)表于 05-12 17:21 ?0次下載

    如何為micropython添加自己的C代碼?

    部分代碼需要更高效的效率 如何為micropython添加自己的C代碼? 是否有教程? 如果可以的話是否可以提供一個實現(xiàn)實例?
    發(fā)表于 03-11 07:03