chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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āi)發(fā)和確保可維護(hù)性的關(guān)鍵

星星科技指導(dǎo)員 ? 來(lái)源:嵌入式計(jì)算設(shè)計(jì) ? 作者:Colin Walls ? 2022-06-30 14:58 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

實(shí)現(xiàn)嵌入式應(yīng)用程序的過(guò)程很好理解:

代碼(用 C/C++/匯編或其他語(yǔ)言)編寫(xiě)并放置在許多文件(模塊)中。

每個(gè)模塊都經(jīng)過(guò)編譯/組裝以創(chuàng)建可重定位的目標(biāo)文件。該文件包含目標(biāo)處理器的機(jī)器指令,但地址信息尚未提交。

所有模塊都使用鏈接器(有時(shí)稱(chēng)為鏈接器/定位器)集成在一起。此過(guò)程解析所有內(nèi)存引用并生成一個(gè)絕對(duì)目標(biāo)文件:最終系統(tǒng)內(nèi)存的圖像。

這種觀點(diǎn)有些簡(jiǎn)單化,因?yàn)檫€有許多其他細(xì)微差別:

增量鏈接可用于將一個(gè)或多個(gè)可重定位對(duì)象連接在一起以形成單個(gè)可重定位對(duì)象。

可以調(diào)整鏈接/定位過(guò)程,以便代碼存儲(chǔ)在一個(gè)地方,但地址解析為在另一個(gè)地址執(zhí)行,已被引導(dǎo)加載程序復(fù)制到那里。

可以將可重定位的目標(biāo)文件鏈接在一起是產(chǎn)生目標(biāo)模塊庫(kù)的一種特殊方式。

“圖書(shū)館”一詞在各種情況下被使用和濫用。它的含義在這里定義明確??梢詫?kù)文件連同可重定位的目標(biāo)文件一起提供給鏈接器。它的功能是解析可重定位目標(biāo)文件未提供的符號(hào)(通常是函數(shù)名)。例如,如果您在一個(gè)模塊中的代碼調(diào)用了函數(shù)MyFun()并且在另一個(gè)模塊中有此函數(shù)的定義,那么一切都很好。如果鏈接器沒(méi)有找到這個(gè)函數(shù),就會(huì)產(chǎn)生錯(cuò)誤。但是,如果包含一個(gè)庫(kù)(或多個(gè)庫(kù)),則鏈接器將首先查找那里以解析符號(hào)。如果庫(kù)包含MyFun()函數(shù),則提取代碼并在最終的絕對(duì)文件中使用。

圖書(shū)館的意義可能并不明顯。你可以用一種簡(jiǎn)單的方式將所有的可重定位文件鏈接在一起——為什么還要麻煩圖書(shū)館呢?這個(gè)想法是該庫(kù)包含大量函數(shù),但鏈接器僅提取當(dāng)前應(yīng)用程序所需的函數(shù)。未使用的永遠(yuǎn)不會(huì)從庫(kù)中提取,因此它們不會(huì)耗盡(即浪費(fèi))目標(biāo)內(nèi)存。

庫(kù)的主要目的是作為大量可重用代碼的存儲(chǔ)庫(kù)。在大型開(kāi)發(fā)團(tuán)隊(duì)的項(xiàng)目中,這可能是一種很好的工作方式,在這種情況下共享代碼非常有益,“重新發(fā)明輪子”是不可取的,但很常見(jiàn)。應(yīng)仔細(xì)規(guī)劃和記錄項(xiàng)目庫(kù)。設(shè)計(jì)函數(shù)時(shí)必須考慮重用:不使用全局?jǐn)?shù)據(jù)、干凈、定義良好的接口、可重入性等。

開(kāi)發(fā)工具供應(yīng)商通常會(huì)提供針對(duì) C/C++ 標(biāo)準(zhǔn)化的庫(kù)。它們包含兩種類(lèi)型的功能。顯而易見(jiàn)的是開(kāi)發(fā)人員在需要時(shí)調(diào)用的顯式函數(shù)——比如printf()。其他庫(kù)函數(shù)是隱式的;它們由編譯器生成的代碼調(diào)用,并提供常用的功能,方便共享。

軟件 IP 供應(yīng)商也可能以庫(kù)的形式提供他們的產(chǎn)品。實(shí)時(shí)操作系統(tǒng) (RTOS) 通常以這種方式分布。這使得 RTOS 可以直接擴(kuò)展;應(yīng)用程序中僅包含所需的 RTOS 功能。

庫(kù)分布的一個(gè)問(wèn)題是它們的“粒度”;可以提取多小的代碼?一些庫(kù)是由大塊構(gòu)建的。這意味著庫(kù)中的模塊可能包含屬于特定 RTOS 設(shè)施的所有服務(wù)功能。因此,例如,使用一個(gè) RTOS 調(diào)用對(duì)信號(hào)量進(jìn)行操作將導(dǎo)致所有與信號(hào)量相關(guān)的服務(wù)調(diào)用函數(shù)都包含在應(yīng)用程序中。一個(gè)非常細(xì)粒度的庫(kù)可以與較小的單元一起使用。因此,使用單個(gè)服務(wù)調(diào)用將導(dǎo)致僅包含其代碼而不是相關(guān)函數(shù)的代碼。有一個(gè)權(quán)衡。一個(gè)非常細(xì)粒度的庫(kù)會(huì)延長(zhǎng)鏈接時(shí)間,但目標(biāo)內(nèi)存不會(huì)浪費(fèi)在未使用的服務(wù)調(diào)用函數(shù)上。

所有嵌入式軟件開(kāi)發(fā)人員都應(yīng)該了解庫(kù)的工作方式及其提供的好處。代碼的可重用性是高效、高效的代碼開(kāi)發(fā)和確??删S護(hù)性的關(guān)鍵。

審核編輯:郭婷

聲明:本文內(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)投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5192

    文章

    20274

    瀏覽量

    331692
  • RTOS
    +關(guān)注

    關(guān)注

    25

    文章

    865

    瀏覽量

    122746
  • C++
    C++
    +關(guān)注

    關(guān)注

    22

    文章

    2122

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    嵌入式軟件開(kāi)發(fā)的 10 個(gè)技巧分享

    維護(hù),尤其是當(dāng)整個(gè)應(yīng)用都存在于單個(gè)文件或松散關(guān)聯(lián)的多個(gè)文件中時(shí)。為了改善可維護(hù)性、重用及復(fù)雜
    發(fā)表于 12-25 06:04

    嵌入式測(cè)試軟件設(shè)計(jì)

    認(rèn)識(shí)到測(cè)試軟件的好處了吧? 所以,之后寫(xiě)代碼,寫(xiě)之前,有必要先想清楚,這個(gè)模塊最后要怎么進(jìn)行自測(cè)?要測(cè)哪些地方? 設(shè)計(jì)的軟件測(cè)試
    發(fā)表于 12-02 06:06

    C語(yǔ)言的編程技巧

    代碼的靈活性和可維護(hù)性。 ?6、使用合適的條件語(yǔ)句?:選擇合適的條件語(yǔ)句(如if、else if、else、switch)可以提高程序的執(zhí)行效率和可讀。? ?7、模塊化和分層開(kāi)發(fā)?:
    發(fā)表于 11-27 06:46

    HarmonyOS應(yīng)用代碼混淆技術(shù)方案

    代碼混淆技術(shù)可以增加代碼的復(fù)雜和模糊,從而提高攻擊者分析代碼的難度。
    的頭像 發(fā)表于 11-21 16:17 ?5515次閱讀
    HarmonyOS應(yīng)用<b class='flag-5'>代碼</b>混淆技術(shù)方案

    確保X光設(shè)備檢測(cè)的有效和準(zhǔn)確關(guān)鍵技巧

    在工業(yè)和安全領(lǐng)域,X光設(shè)備檢測(cè)已成為不可或缺的重要環(huán)節(jié)。然而,許多用戶常常面臨檢測(cè)效果不理想、準(zhǔn)確不足的問(wèn)題,影響生產(chǎn)效率和安全保障。如何確保X光檢測(cè)設(shè)備能夠發(fā)揮最大效能,準(zhǔn)確捕捉目標(biāo)信息,是當(dāng)前
    的頭像 發(fā)表于 11-18 11:27 ?277次閱讀

    2025支持AI 驅(qū)動(dòng)數(shù)字化轉(zhuǎn)型的低代碼開(kāi)發(fā)平臺(tái)有哪些

    ”,其技術(shù)深度、行業(yè)適配與生態(tài)完整直接決定企業(yè)轉(zhuǎn)型成效。本文基于行業(yè)趨勢(shì)與用戶需求,梳理2025年國(guó)內(nèi)低代碼開(kāi)發(fā)平臺(tái),并對(duì)比分析其與得帆低代碼
    的頭像 發(fā)表于 10-31 13:18 ?245次閱讀

    代碼開(kāi)發(fā)平臺(tái)推薦:2025國(guó)內(nèi)低代碼開(kāi)發(fā)平臺(tái)排名TOP10

    代碼開(kāi)發(fā)平臺(tái)排行榜 在企業(yè)數(shù)字化轉(zhuǎn)型的浪潮中,低代碼開(kāi)發(fā)平臺(tái)正逐漸成為企業(yè)實(shí)現(xiàn)高效開(kāi)發(fā)和快速迭代的重要工具。隨著技術(shù)的不斷進(jìn)步和市場(chǎng)需求的
    的頭像 發(fā)表于 10-28 10:22 ?535次閱讀

    2025主流低代碼平臺(tái)有哪些:低代碼開(kāi)發(fā)平臺(tái)選型指南指南

    年,超過(guò)70%的企業(yè)將采用低代碼平臺(tái)構(gòu)建關(guān)鍵業(yè)務(wù)系統(tǒng)。然而,市場(chǎng)上的低代碼平臺(tái)在復(fù)雜場(chǎng)景支撐、技術(shù)可控、行業(yè)適配等方面存在顯著差異。本文
    的頭像 發(fā)表于 10-22 11:49 ?294次閱讀

    嵌入式軟件測(cè)試與專(zhuān)業(yè)測(cè)試工具的必要深度解析

    嵌入式系統(tǒng)作為控制、監(jiān)視或輔助裝置運(yùn)行的專(zhuān)用計(jì)算機(jī)系統(tǒng),其軟件測(cè)試面臨著獨(dú)特的挑戰(zhàn)和嚴(yán)格的要求。專(zhuān)業(yè)測(cè)試工具在嵌入式軟件開(kāi)發(fā)過(guò)程中發(fā)揮著不可替代的作用,是確保系統(tǒng)可靠和安全
    發(fā)表于 09-28 17:42

    統(tǒng)計(jì)過(guò)程控制在預(yù)防維護(hù)中的應(yīng)用

    引言在制造設(shè)備設(shè)計(jì)中,一個(gè)常被忽視的方面是可維護(hù)性。設(shè)備是否具備可維護(hù)性相關(guān)特性,會(huì)顯著影響設(shè)備的運(yùn)維成本;而這些運(yùn)維成本,又直接關(guān)系到維護(hù)合同的盈利能力。因此,找到降低運(yùn)維成本的有效方法,對(duì)于提升
    的頭像 發(fā)表于 09-03 18:04 ?925次閱讀
    統(tǒng)計(jì)過(guò)程控制在預(yù)防<b class='flag-5'>性</b><b class='flag-5'>維護(hù)</b>中的應(yīng)用

    什么是零代碼平臺(tái)?

    代碼平臺(tái)是一種無(wú)需編寫(xiě)傳統(tǒng)代碼,通過(guò)可視化拖拽、參數(shù)配置、邏輯連線即可快速搭建業(yè)務(wù)流程與應(yīng)用系統(tǒng)的工具平臺(tái)。它將復(fù)雜的軟件開(kāi)發(fā)過(guò)程轉(zhuǎn)化為 “搭積木” 式的操作,讓非技術(shù)人員(如業(yè)務(wù)人員、運(yùn)營(yíng)人員
    發(fā)表于 07-12 20:28

    請(qǐng)問(wèn)K210和K230開(kāi)發(fā)如何確保代碼安全?

    K210和K230開(kāi)發(fā)如何確保代碼安全?
    發(fā)表于 06-06 06:38

    如何確保模擬示波器信號(hào)源的標(biāo)準(zhǔn)

    確保模擬示波器信號(hào)源的標(biāo)準(zhǔn)是保證測(cè)量結(jié)果準(zhǔn)確和可靠關(guān)鍵。以下從信號(hào)源選擇、校準(zhǔn)與驗(yàn)證、操作規(guī)范三個(gè)方面,提供系統(tǒng)
    發(fā)表于 04-07 14:49

    PCBA應(yīng)變測(cè)試:確保電子產(chǎn)品可靠關(guān)鍵

    PCBA應(yīng)變測(cè)試:確保電子產(chǎn)品可靠關(guān)鍵
    的頭像 發(fā)表于 02-25 17:28 ?1036次閱讀
    PCBA應(yīng)變測(cè)試:<b class='flag-5'>確保</b>電子產(chǎn)品可靠<b class='flag-5'>性</b>的<b class='flag-5'>關(guān)鍵</b>

    代碼與傳統(tǒng)開(kāi)發(fā)的區(qū)別 低代碼與無(wú)代碼開(kāi)發(fā)的區(qū)別

    在軟件開(kāi)發(fā)領(lǐng)域,傳統(tǒng)開(kāi)發(fā)、低代碼開(kāi)發(fā)以及無(wú)代碼開(kāi)發(fā)是三種不同的
    的頭像 發(fā)表于 01-31 10:48 ?1212次閱讀