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

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

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

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

由庫(kù)引生出來(lái)的話題

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

掃碼添加小助手

加入工程師交流群

寫(xiě)在前面 Ⅰ

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

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

什么情況下要生成庫(kù)?

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

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

生成庫(kù)的原則?

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

Keil、IAR如何生成庫(kù)? Ⅱ

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

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

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

庫(kù)在工程的使用方法 Ⅲ

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

靜態(tài)庫(kù)和動(dòng)態(tài)庫(kù)的區(qū)別? Ⅳ

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

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

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

簡(jiǎn)單的來(lái)說(shuō)二者的區(qū)別:

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

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

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

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

    關(guān)注

    147

    文章

    18925

    瀏覽量

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

    關(guān)注

    5

    文章

    410

    瀏覽量

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

    關(guān)注

    0

    文章

    356

    瀏覽量

    22695
  • keil
    +關(guān)注

    關(guān)注

    69

    文章

    1230

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    芯源有KiCAD的元件庫(kù)嗎?

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

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

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

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

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

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

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

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

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

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

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

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

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

    數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)—MongoDB數(shù)據(jù)庫(kù)文件丟失的數(shù)據(jù)恢復(fù)案例

    MongoDB數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)環(huán)境: 一臺(tái)操作系統(tǒng)為Windows Server的虛擬機(jī)上部署MongoDB數(shù)據(jù)庫(kù)。 MongoDB數(shù)據(jù)庫(kù)故障: 工作人員在MongoDB服務(wù)仍然開(kāi)啟的情況下
    的頭像 發(fā)表于 07-01 11:13 ?640次閱讀
    數(shù)據(jù)<b class='flag-5'>庫(kù)</b>數(shù)據(jù)恢復(fù)—MongoDB數(shù)據(jù)<b class='flag-5'>庫(kù)</b>文件丟失的數(shù)據(jù)恢復(fù)案例

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

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

    AD庫(kù)封裝庫(kù)安裝教程

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

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

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

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

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

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

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

    HPI 4.6擎說(shuō)明書(shū)維修手冊(cè)

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

    如何為micropython添加自己的C代碼庫(kù)?

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