0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

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

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

避免在軍事/航空航天嵌入式代碼中使用無(wú)惡意API

星星科技指導(dǎo)員 ? 來(lái)源:STEVE GRAVES ? 作者:STEVE GRAVES ? 2022-11-08 11:17 ? 次閱讀

動(dòng)態(tài)分配在 C/C++ 中普及,通過(guò)在運(yùn)行時(shí)根據(jù)需要將系統(tǒng)內(nèi)存分配給應(yīng)用程序進(jìn)程,并在不再需要內(nèi)存時(shí)檢索內(nèi)存,從而簡(jiǎn)化開(kāi)發(fā)。

但動(dòng)態(tài)分配被廣泛認(rèn)為是安全關(guān)鍵型嵌入式軟件的禁忌。使用 C 運(yùn)行時(shí)庫(kù)的 malloc() 和 free() API 來(lái)完成動(dòng)態(tài)分配的繁重工作,可能會(huì)引入災(zāi)難性的副作用,例如內(nèi)存泄漏或碎片。此外,malloc() 可能會(huì)表現(xiàn)出非常不可預(yù)測(cè)的性能,并成為多核系統(tǒng)上多線程程序的瓶頸。由于其風(fēng)險(xiǎn),根據(jù)DO-178B標(biāo)準(zhǔn),在安全關(guān)鍵型嵌入式航空電子代碼中禁止動(dòng)態(tài)內(nèi)存分配。

整個(gè)嵌入式行業(yè)的開(kāi)發(fā)人員似乎對(duì)這個(gè)話題做出了發(fā)自內(nèi)心的反應(yīng)。在最近的一次互聯(lián)網(wǎng)技術(shù)小組討論中,“你在嵌入式設(shè)計(jì)中使用動(dòng)態(tài)內(nèi)存分配嗎?”這個(gè)問(wèn)題獲得了驚人的77個(gè)回答,典型的是“一般來(lái)說(shuō),它被認(rèn)為違反了容錯(cuò)系統(tǒng)的最佳實(shí)踐”,以及“如果要求包括‘五個(gè)九’(99.999%的正常運(yùn)行時(shí)間)可靠性,硬實(shí)時(shí)或小內(nèi)存占用,答案是‘從不’。求職者請(qǐng)注意:一位咨詢工程師的面試策略“是溫和地探查潛在員工在實(shí)時(shí)應(yīng)用程序中的動(dòng)態(tài)內(nèi)存分配使用情況。如果他們對(duì)此沒(méi)有問(wèn)題,他們就不會(huì)被雇用。

更好的策略 - 無(wú)論是代碼安全和工作面試成功 - 是將安全關(guān)鍵代碼中的標(biāo)準(zhǔn)(默認(rèn))分配器替換為更匹配特定分配方案的自定義內(nèi)存分配函數(shù)。以下討論描述了兩個(gè)這樣的自定義內(nèi)存管理器:基于堆棧的分配器和線程本地分配器。擺脫 malloc() 和 free() 應(yīng)用程序的另一種方法——從而獲得更好的性能、穩(wěn)定性和可預(yù)測(cè)性——是用包含自定義分配器的現(xiàn)成軟件替換基于標(biāo)準(zhǔn)分配函數(shù)的代碼。內(nèi)存數(shù)據(jù)庫(kù)系統(tǒng)(IMDS)的使用被討論為這種“購(gòu)買而不是構(gòu)建”方法的一個(gè)例子。

這是標(biāo)準(zhǔn)的,但它是最好的嗎?

為什么標(biāo)準(zhǔn)(動(dòng)態(tài))內(nèi)存管理器不適合任務(wù)關(guān)鍵型代碼?通常,它們基于列表分配器算法,該算法將內(nèi)存池組織到單向鏈表中的連續(xù)位置(空閑孔)。然后,分配器“行走”這條鏈條,尋找合適的孔來(lái)滿足請(qǐng)求。列表分配器是典型的通用功能:它們?cè)诟鞣N情況下分配和解分配內(nèi)存方面做得很好 - 但在任務(wù)或安全關(guān)鍵系統(tǒng)中“相當(dāng)好”還不夠好。

基于堆棧的算法:分配和倒帶內(nèi)存

某些應(yīng)用程序方案需要分配許多生存期較短的對(duì)象,然后一次釋放所有對(duì)象?;诙褩5姆峙淦鳎ú灰c應(yīng)用程序調(diào)用堆棧混淆)是一種類型的自定義分配器,在這里運(yùn)行良好。使用此算法,每次分配返回堆棧指針當(dāng)前位置的地址,并按請(qǐng)求量推進(jìn)指針(圖 1)。當(dāng)不再需要內(nèi)存時(shí),堆棧指針將倒帶。處理開(kāi)銷減少了,因?yàn)闆](méi)有要管理的指針鏈,也沒(méi)有任何要跟蹤的分配大小或可用孔。這種方法也更安全:不會(huì)因不當(dāng)?shù)慕獬峙涠馔庖雰?nèi)存泄漏,因?yàn)閼?yīng)用程序不必跟蹤特定的分配。

圖1:基于堆棧的自定義分配器

pYYBAGNpykKAbV6wAABHG31Z854662.jpg

與標(biāo)準(zhǔn)列表分配器相比,使用基于堆棧的分配器所消除的開(kāi)銷隨著應(yīng)用程序的繼續(xù)運(yùn)行而增加。當(dāng)內(nèi)存以隨機(jī)順序釋放時(shí),列表分配器通常需要將指針和大小值添加到其鏈中(這稱為碎片),以便指針和大小值表示占總堆大小的更大百分比。因此,列表分配器的開(kāi)銷(必須管理的元數(shù)據(jù)量以及必須走得更遠(yuǎn)才能找到合適的可用漏洞的可能性)隨著應(yīng)用程序的繼續(xù)運(yùn)行而增長(zhǎng)。(使用基于堆棧的分配器,從某個(gè)時(shí)間點(diǎn)分配的所有塊都會(huì)在一個(gè)操作中返回到堆中,從而避免碎片。

多線程、多核分配挑戰(zhàn)

當(dāng)多線程應(yīng)用程序陷入多處理器硬件時(shí),由互斥鎖控制的默認(rèn) malloc() 和 free() 函數(shù)通常是罪魁禍?zhǔn)?。使用這些分配器的線程可能會(huì)導(dǎo)致鎖定沖突,操作系統(tǒng)通過(guò)消耗性能的上下文切換部分解決這些問(wèn)題。自定義線程本地分配器通過(guò)為每個(gè)線程分配特定的內(nèi)存池來(lái)避免沖突。線程的分配是從這個(gè)塊執(zhí)行的,而不會(huì)干擾其他線程的請(qǐng)求,從而提高性能和可預(yù)測(cè)性。當(dāng)線程分配器內(nèi)存不足時(shí),如果系統(tǒng)允許,其他分配器可以為其分配另一個(gè)塊。線程本地分配器對(duì)每個(gè)線程使用掛起請(qǐng)求列表或 PRL 來(lái)協(xié)調(diào)由執(zhí)行原始分配的線程以外的線程釋放的內(nèi)存塊的釋放。由同一線程分配和取消分配的內(nèi)存不需要協(xié)調(diào),因此不會(huì)發(fā)生鎖沖突。

簡(jiǎn)而言之,通過(guò)從 malloc() 和 free() 中刪除內(nèi)存管理責(zé)任并將其分配給應(yīng)用程序,可以避免安全關(guān)鍵代碼中的問(wèn)題,應(yīng)用程序使用與特定應(yīng)用程序任務(wù)相吻合的自定義分配器。自定義分配器為該任務(wù)的獨(dú)占使用留出緩沖區(qū)(通常在啟動(dòng)期間),并滿足來(lái)自它的內(nèi)存分配請(qǐng)求。如果緩沖區(qū)內(nèi)存不足,應(yīng)用程序?qū)⑹盏酵ㄖ⒖梢葬尫啪彌_區(qū)內(nèi)的內(nèi)存。或者它可以在其他地方找到更多的內(nèi)存來(lái)投入到任務(wù)中。耗盡此專用池中的內(nèi)存不會(huì)影響系統(tǒng)的其他部分。可以選擇的自定義分配器包括所討論的分配器,以及位圖分配器、塊分配器等。

通過(guò)第三方應(yīng)用程序分配

自定義內(nèi)存分配器的優(yōu)勢(shì)也可以通過(guò)集成使用它們的第三方軟件來(lái)利用。IMDS是受益于自定義分配器的良好候選者,因?yàn)樗鼈儗iT設(shè)計(jì)用于管理RAM中的應(yīng)用程序?qū)ο蟆D 2 說(shuō)明了使用 malloc() 和 free() 進(jìn)行分配/解除分配。圖3顯示了使用McObject的eXtremeDB的相同過(guò)程,這是一個(gè)IMDS,它結(jié)合了自定義分配器,包括基于堆棧和線程本地。在圖 2 的開(kāi)頭,C 程序定義了一個(gè)結(jié)構(gòu),聲明了一個(gè)指向該結(jié)構(gòu)實(shí)例的指針,并通過(guò) malloc() 為其分配內(nèi)存。

圖2:使用 malloc() 和 free() 進(jìn)行內(nèi)存分配

poYBAGNpykiAPqZJAAB9Od7XArU941.jpg

圖3:使用內(nèi)存數(shù)據(jù)庫(kù)系統(tǒng)的內(nèi)存分配

poYBAGNpylGAG7ssAADZv6uGb58125.jpg

使用IMDS的程序員在數(shù)據(jù)庫(kù)模式文件中定義類,該文件被處理(通過(guò)特殊的編譯器)以產(chǎn)生.C 文件,以及 。包含類型定義和函數(shù)原型的 H 文件。

如果使用 malloc/free 的程序是多線程的,并且線程將共享 Sensor 對(duì)象,則開(kāi)發(fā)人員必須實(shí)現(xiàn)并發(fā)控制。使用IMDS,并發(fā)性通過(guò)事務(wù)自動(dòng)管理。圖 3 顯示了事務(wù)如何開(kāi)始 (mco_trans_start) 并獲取事務(wù)句柄。

調(diào)用 Sensor_new() 會(huì)聲明一些專用于新傳感器對(duì)象的 IMDS 內(nèi)存池。(在軍事/航空航天應(yīng)用中,傳感器對(duì)象可以代表任何東西,從用于跟蹤導(dǎo)彈目標(biāo)的光學(xué)傳感器到用于化學(xué)戰(zhàn)防御的生物傳感器或幫助導(dǎo)航飛機(jī)的運(yùn)動(dòng)傳感器。Sensor_new() 返回?cái)?shù)據(jù)庫(kù)對(duì)象的句柄,通過(guò)該句柄可以寫入和/或讀取對(duì)象的值。相比之下,C 程序直接處理結(jié)構(gòu)的字段,從而在多線程應(yīng)用程序中創(chuàng)建并發(fā)訪問(wèn)控制的需求。

當(dāng) C 程序完成使用 Sensor 結(jié)構(gòu)時(shí),free() 將內(nèi)存返回到堆中。當(dāng)帶有IMDS的代碼完成時(shí),數(shù)據(jù)庫(kù)中的空間被放棄,事務(wù)結(jié)束,用于傳感器對(duì)象的內(nèi)存返回到專用內(nèi)存池。

eXtremeDB IMDS可能會(huì)內(nèi)存不足,但這會(huì)產(chǎn)生“數(shù)據(jù)庫(kù)已滿”錯(cuò)誤消息,應(yīng)用程序可以處理該錯(cuò)誤消息。相反,由 malloc() 和 free() 引起的內(nèi)存碎片和泄漏可能會(huì)破壞整個(gè)系統(tǒng)的穩(wěn)定性。IMDS提供了一種“幕后”工作的機(jī)制,通過(guò)使用多種底層分配器類型,以更高的效率和靈活性分配和釋放內(nèi)存,避免malloc()和free()固有的風(fēng)險(xiǎn)。

但是,自定義內(nèi)存管理器并不是IMDS所特有的。例如,用于管理傳感器網(wǎng)絡(luò)的現(xiàn)成代碼非常適合一種稱為塊分配器的自定義內(nèi)存管理器。雖然離散傳感器值事先不知道,但這些值的大小是固定的(如 4 字節(jié)時(shí)間戳和 8 字節(jié)值),并且塊分配器擅長(zhǎng)分配預(yù)定義大小的內(nèi)存塊?;诙褩5姆峙淦鲗?duì)于任何計(jì)算需求都很有用,可以分為需要所有內(nèi)存的第一階段和不再需要所有內(nèi)存的第二階段。任何必須解析某些輸入流的程序都符合此描述。例如,通信監(jiān)視程序可能會(huì)解析文本流(口語(yǔ)),構(gòu)建令牌樹(shù)(單詞或短語(yǔ)),然后對(duì)其執(zhí)行一些后處理。這種后處理可能是決定給定的單詞或短語(yǔ)是否與其上下文相關(guān)。

事實(shí)上,很難想象一種應(yīng)用程序類型不會(huì)從面向其特定分配模式和挑戰(zhàn)的內(nèi)存管理中受益。當(dāng)然,自定義內(nèi)存管理為已經(jīng)復(fù)雜的軟件開(kāi)發(fā)任務(wù)增加了另一個(gè)考慮因素。但是,進(jìn)入安全關(guān)鍵領(lǐng)域的軟件工程師知道,與消費(fèi)者或業(yè)務(wù)應(yīng)用程序開(kāi)發(fā)相比,需求和風(fēng)險(xiǎn)更高。編寫避免動(dòng)態(tài)內(nèi)存分配而是使用一個(gè)或多個(gè)自定義內(nèi)存管理器的代碼不太方便。但它增加了安全性和穩(wěn)定性,這是安全關(guān)鍵系統(tǒng)的工程師應(yīng)該接受的權(quán)衡。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(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)注

    5090

    文章

    19176

    瀏覽量

    306916
  • API
    API
    +關(guān)注

    關(guān)注

    2

    文章

    1510

    瀏覽量

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

    關(guān)注

    22

    文章

    2114

    瀏覽量

    73793
收藏 0人收藏

    評(píng)論

    相關(guān)推薦

    虹科問(wèn)答 | 航空航天通信難題多,虹科TSN方案如何破局?

    航空航天領(lǐng)域?qū)煽啃院途珳?zhǔn)性要求近乎苛刻,通信技術(shù)的每一次突破都意義重大。時(shí)間敏感網(wǎng)絡(luò)(TSN)技術(shù)憑借其獨(dú)特優(yōu)勢(shì),正逐漸成為航空航天通信的關(guān)鍵支撐。本文將以問(wèn)答形式,深入探討TSN技術(shù)特點(diǎn)、
    的頭像 發(fā)表于 01-22 17:33 ?72次閱讀
    虹科問(wèn)答 | <b class='flag-5'>航空航天</b>通信難題多,虹科TSN方案如何破局?

    泰克信號(hào)發(fā)生器航空航天測(cè)試中的關(guān)鍵作用

    航空航天領(lǐng)域?qū)υO(shè)備的可靠性、精度和安全性有著極其苛刻的要求。嚴(yán)酷的運(yùn)行環(huán)境下,任何微小的故障都可能導(dǎo)致災(zāi)難性后果。因此,全面的測(cè)試驗(yàn)證至關(guān)重要,而泰克信號(hào)發(fā)生器作為一種高精度、多功能的測(cè)試儀器,
    的頭像 發(fā)表于 12-05 10:05 ?141次閱讀
    泰克信號(hào)發(fā)生器<b class='flag-5'>在</b><b class='flag-5'>航空航天</b>測(cè)試中的關(guān)鍵作用

    反射內(nèi)存卡在航空航天中的應(yīng)用

    天津拓航科技有限公司自研反射內(nèi)存卡在航空航天中的應(yīng)用
    的頭像 發(fā)表于 11-14 10:10 ?188次閱讀
    反射內(nèi)存卡在<b class='flag-5'>航空航天</b>中的應(yīng)用

    億緯鋰能通過(guò)AS9100D航空航天體系認(rèn)證

    近日,億緯鋰能獲得DNV頒發(fā)的AS9100D航空航天質(zhì)量管理體系認(rèn)證證書(Certificate No.: C690714),通過(guò)范圍為:航空航天用鋰電池的設(shè)計(jì)、制造和銷售、售后。標(biāo)志著億緯鋰能質(zhì)量管理體系達(dá)到航空航天用鋰電池全
    的頭像 發(fā)表于 11-06 11:50 ?365次閱讀

    格瑞普電池誠(chéng)邀您共同參與2024年土耳其國(guó)際防務(wù)與航空航天展覽會(huì)

    參展消息2024年土耳其國(guó)際防務(wù)與航空航天展覽會(huì)來(lái)自格瑞普的邀請(qǐng)函2024年土耳其國(guó)際防務(wù)與航空航天展覽會(huì)在土耳其伊斯坦布爾展覽中心盛大舉行。土耳其SAHAEXPO,即土耳其國(guó)際防務(wù)與航空航天
    的頭像 發(fā)表于 10-22 08:01 ?401次閱讀
    格瑞普電池誠(chéng)邀您共同參與2024年土耳其國(guó)際防務(wù)與<b class='flag-5'>航空航天</b>展覽會(huì)

    光學(xué)變焦機(jī)芯:航空航天領(lǐng)域的“千里眼”

    光學(xué)變焦機(jī)芯航空航天領(lǐng)域扮演著至關(guān)重要的角色,被譽(yù)為該領(lǐng)域的“千里眼”。其卓越的性能和廣泛的應(yīng)用場(chǎng)景,使得它成為航空航天探索與監(jiān)測(cè)中不可或缺的工具。以下是對(duì)光學(xué)變焦機(jī)芯
    的頭像 發(fā)表于 09-09 14:57 ?439次閱讀
    光學(xué)變焦機(jī)芯:<b class='flag-5'>航空航天</b>領(lǐng)域的“千里眼”

    航空航天應(yīng)用中使用AFE11612-SEP偏置GaN和LDMOS射頻功率放大器

    電子發(fā)燒友網(wǎng)站提供《航空航天應(yīng)用中使用AFE11612-SEP偏置GaN和LDMOS射頻功率放大器.pdf》資料免費(fèi)下載
    發(fā)表于 09-04 09:34 ?0次下載
    <b class='flag-5'>在</b><b class='flag-5'>航空航天</b>應(yīng)用<b class='flag-5'>中使</b>用AFE11612-SEP偏置GaN和LDMOS射頻功率放大器

    3D打印航空航天零部件模型3D打印定制設(shè)計(jì)服務(wù)CASAIM

    隨著技術(shù)進(jìn)步,3D打印正在逐步改變航空航天工業(yè)的生產(chǎn)方式。航空航天領(lǐng)域,隨著飛行器使用要求和設(shè)計(jì)水平的不斷提高,新型航空航天產(chǎn)品不斷向性能高、壽命長(zhǎng)、成本低、可靠性好等方向發(fā)展,
    的頭像 發(fā)表于 07-21 15:13 ?432次閱讀
    3D打印<b class='flag-5'>航空航天</b>零部件模型3D打印定制設(shè)計(jì)服務(wù)CASAIM

    嵌入式開(kāi)發(fā)就業(yè)前景怎么樣?

    航空航天領(lǐng)域的各種電子設(shè)備和系統(tǒng)。隨著航空航天技術(shù)的發(fā)展,航空航天領(lǐng)域?qū)?b class='flag-5'>嵌入式開(kāi)發(fā)的需求也不斷增加。
    發(fā)表于 06-07 14:51

    高精度滾珠絲桿航空航天技術(shù)中實(shí)現(xiàn)精準(zhǔn)對(duì)接!

    滾珠絲桿以其高精度,高效率,高剛性,高壽命等特點(diǎn)。作為一種高效,節(jié)能,高精度的傳動(dòng)與定位元件,航空航天領(lǐng)域中有著非常出色的運(yùn)用。它以精確的直線定位和運(yùn)動(dòng)控制能力,賦予智能制造設(shè)備高速、高效的傳動(dòng)能力,從而輕松實(shí)現(xiàn)在航空航天領(lǐng)域
    的頭像 發(fā)表于 05-29 17:36 ?780次閱讀
    高精度滾珠絲桿<b class='flag-5'>在</b><b class='flag-5'>航空航天</b>技術(shù)中實(shí)現(xiàn)精準(zhǔn)對(duì)接!

    嫦娥六號(hào)“奔月”成功,探究電感航空航天領(lǐng)域的應(yīng)用

    電感航空航天領(lǐng)域的應(yīng)用至關(guān)重要,其獨(dú)特的功能和特性為航空航天技術(shù)的發(fā)展提供了有力支持。
    的頭像 發(fā)表于 05-15 17:12 ?522次閱讀
    嫦娥六號(hào)“奔月”成功,探究電感<b class='flag-5'>在</b><b class='flag-5'>航空航天</b>領(lǐng)域的應(yīng)用

    剛性or柔性?航空航天PCB線路板類型全揭秘

    航空航天領(lǐng)域?qū)﹄娮釉O(shè)備的要求極高,這主要體現(xiàn)在設(shè)備的小型化、輕量化、高可靠性以及抗惡劣環(huán)境等方面。PCB線路板作為電子設(shè)備的基礎(chǔ)構(gòu)件,其性能直接影響到整個(gè)電子系統(tǒng)的穩(wěn)定性和可靠性。因此,航空航天領(lǐng)域,選擇合適的PCB線路板類型
    的頭像 發(fā)表于 03-04 09:36 ?1274次閱讀
    剛性or柔性?<b class='flag-5'>航空航天</b>PCB線路板類型全揭秘

    圖撲數(shù)字孿生技術(shù)航空航天方面的應(yīng)用

    "數(shù)字孿生"這一概念最早就是航空航天領(lǐng)域使用,目的在于處理航天器的健康維護(hù)和保護(hù)問(wèn)題。圖撲實(shí)現(xiàn)對(duì)民航機(jī)場(chǎng)、民航飛機(jī)、火箭發(fā)射、科技展館的數(shù)字孿生展示。
    的頭像 發(fā)表于 02-27 14:10 ?706次閱讀
    圖撲數(shù)字孿生技術(shù)<b class='flag-5'>在</b><b class='flag-5'>航空航天</b>方面的應(yīng)用

    航空航天5G智能工廠數(shù)字孿生可視化平臺(tái),推進(jìn)航空航天數(shù)字化轉(zhuǎn)型

    航空航天5G智能工廠數(shù)字孿生可視化平臺(tái),推進(jìn)航空航天數(shù)字化轉(zhuǎn)型。隨著科技的不斷發(fā)展,數(shù)字化轉(zhuǎn)型已經(jīng)成為各行各業(yè)關(guān)注的焦點(diǎn)。航空航天業(yè)作為高端制造業(yè)的代表,也積極探索數(shù)字化轉(zhuǎn)型之路。為
    的頭像 發(fā)表于 02-23 11:36 ?699次閱讀
    <b class='flag-5'>航空航天</b>5G智能工廠數(shù)字孿生可視化平臺(tái),推進(jìn)<b class='flag-5'>航空航天</b>數(shù)字化轉(zhuǎn)型

    激光打標(biāo)機(jī)助力航空航天業(yè)實(shí)現(xiàn)高效、精準(zhǔn)標(biāo)識(shí)

    科技日新月異的今天,激光打標(biāo)機(jī)已經(jīng)從普通的工業(yè)制造領(lǐng)域躍升為航空航天領(lǐng)域的得力助手。憑借其精準(zhǔn)、高效的特性,激光打標(biāo)機(jī)為航空器的安全與可靠性提供了重要的保障。一直以來(lái),航空航天領(lǐng)域?qū)?/div>
    的頭像 發(fā)表于 02-20 13:52 ?404次閱讀
    激光打標(biāo)機(jī)助力<b class='flag-5'>航空航天</b>業(yè)實(shí)現(xiàn)高效、精準(zhǔn)標(biāo)識(shí)

    電子發(fā)燒友

    中國(guó)電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品