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

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

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

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

VectorCAST在汽車電子C++代碼測試的應(yīng)用

北匯信息POLELINK ? 2022-09-02 10:16 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群


隨著汽車行業(yè)的發(fā)展,軟件定義汽車已成為汽車產(chǎn)業(yè)達(dá)成的共識(shí)發(fā)展趨勢,軟件在汽車產(chǎn)品中也承擔(dān)著越來越重要的角色,車身域各功能的實(shí)現(xiàn),少則幾千行代碼,動(dòng)輒百萬行代碼。隨著汽車產(chǎn)業(yè)功能多樣性以及復(fù)雜度的增加,傳統(tǒng)的基于C代碼開發(fā)的模式已不能滿足某些特殊功能需求的實(shí)現(xiàn),需要向更高級(jí)別的語言進(jìn)化,實(shí)現(xiàn)復(fù)雜功能的開發(fā)。

1

C++語言的廣泛應(yīng)用

眾所周知,C代碼是面向過程的語言,具有執(zhí)行速度快以及效率高的特點(diǎn),在嵌入式開發(fā)領(lǐng)域占據(jù)很大的比重,是嵌入式系統(tǒng)、尤其面向底層的主要編程語言。但是隨著汽車行業(yè)智能化以及網(wǎng)聯(lián)化的發(fā)展,更多的是聚焦在復(fù)雜的應(yīng)用以及算法開發(fā)上,對性能的要求就會(huì)非常高,比如智能駕駛,智能網(wǎng)聯(lián)等這類項(xiàng)目,相比C語言,具有面向?qū)ο髾C(jī)制的C++更適合用于這類項(xiàng)目的開發(fā)。

此外,為適配SOA架構(gòu)和并行處理大數(shù)據(jù)等更復(fù)雜的需求,AP(Adaptive AUTOSAR)平臺(tái)正廣泛地應(yīng)用于諸如車載域控制器自動(dòng)駕駛和車聯(lián)網(wǎng)等領(lǐng)域;而AP也是基于C++語言開發(fā)的,這也正是因?yàn)镃++所具備的特點(diǎn)更能滿足AP平臺(tái)對高安全性以及高計(jì)算能力的要求。

? C++兼容C語言的同時(shí)又引入了面向?qū)ο蟮臋C(jī)制。

? 封裝,繼承以及多態(tài)的特性使得C++中的類與對象呈現(xiàn)多樣性。

? C++中引入了一些特殊用法,比如const常量、智能指針、cast轉(zhuǎn)換、引用等,使得代碼更加安全。

? C++引入了模板概念,實(shí)現(xiàn)了將類型參數(shù)化的泛型編程,提升了代碼復(fù)用性;同時(shí),基于模板類或模板函數(shù)的STL(標(biāo)準(zhǔn)模板庫)使得開發(fā)更便捷。

? C++中還提供了很多開源庫,比如神經(jīng)網(wǎng)絡(luò)、加密、數(shù)學(xué)開源庫等,為復(fù)雜的應(yīng)用開發(fā)提供了更多便利。

POLELINK

2

如何高效地

實(shí)施C++代碼測試

隨著汽車軟件的復(fù)雜度以及代碼量級(jí)的增加,主機(jī)廠和零部件供應(yīng)商對代碼質(zhì)量的要求也越來越高,并尋求各種方式來提升代碼質(zhì)量,以盡早發(fā)現(xiàn)代碼問題實(shí)現(xiàn)對項(xiàng)目的把控和交付。同時(shí),ISO 26262以及ASPICE也對軟件測試提出了明確的要求,即需要實(shí)施單元/集成測試。

在對軟件進(jìn)行單元測試和集成測試時(shí),除了要滿足相關(guān)需求測試的要求,還要考慮代碼整個(gè)結(jié)構(gòu)的覆蓋度,測試過程因而比較繁瑣。在面對復(fù)雜的C++代碼項(xiàng)目時(shí),如何才能高效地完成C++代碼的單元測試和集成測試,最大化地實(shí)現(xiàn)自動(dòng)化測試?北匯信息采用的自動(dòng)化測試工具是Vector旗下的代碼動(dòng)態(tài)測試工具----VectorCAST/C++。

VectorCAST/C++

VectorCAST/C++工具是德國Vector公司的一款白盒測試工具,主要用于實(shí)現(xiàn)代碼的單元測試和集成測試。它最大的特點(diǎn),同時(shí)也是相比于其它同類工具最大的優(yōu)勢就在于,經(jīng)受過多個(gè)大型量產(chǎn)項(xiàng)目實(shí)踐的對C++高階特性、Linux系統(tǒng)和CI平臺(tái)的強(qiáng)力支持。

支持C++11/14/17代碼解析

VectorCAST/C++工具內(nèi)置了權(quán)威的商業(yè)化前端解析工具EDG對代碼進(jìn)行解析,無論是基于C++11開發(fā)的,還是C++14又或者是C++17開發(fā)的,工具都可以完美支持C++11/14/17的特性。同時(shí),針對C++復(fù)雜數(shù)據(jù)類型的使用,比如STL、模板、智能指針等,可實(shí)現(xiàn)圖形化界面操作,無需過多添加測試代碼,有效地提高了C++代碼的測試效率。


b15134da-296c-11ed-9ade-dac502259ad0.png

1

類的實(shí)例化

類在使用之前都需要進(jìn)行類的實(shí)例化----對象創(chuàng)建,通過對象對類的成員屬性以及成員方法進(jìn)行訪問,所以在編寫測試用例時(shí),需要完成實(shí)例化對象的創(chuàng)建。工具可以解析類的所有構(gòu)造函數(shù),并在測試用例編輯區(qū)開辟對象實(shí)例化區(qū)域,測試人員可根據(jù)實(shí)際測試需求選擇匹配的構(gòu)造函數(shù)來實(shí)例化對象。


b1898ca4-296c-11ed-9ade-dac502259ad0.png

2

模板類/模板函數(shù)測試

在基于C++開發(fā)的代碼中,模板的應(yīng)用也非常廣泛,模板的出現(xiàn),實(shí)現(xiàn)了類型的參數(shù)化,真正做到代碼的重用性。在針對函數(shù)模板和類模板進(jìn)行測試時(shí),VectorCAST/C++支持對模板函數(shù)自動(dòng)插樁,實(shí)現(xiàn)圖形化界面操作,無需編寫測試代碼。


b1ba7e0e-296c-11ed-9ade-dac502259ad0.png

此外,在對模板類或者模板函數(shù)進(jìn)行測試之前需要先進(jìn)行實(shí)例化,然后再進(jìn)行模板的測試。


b1ecf352-296c-11ed-9ade-dac502259ad0.png

3

容器類型數(shù)據(jù)測試

C++ STL標(biāo)準(zhǔn)模板庫中的容器是用來存放各種數(shù)據(jù)結(jié)構(gòu)對象的集合。關(guān)于容器類型的數(shù)據(jù),在VectorCAST/C++中,工具支持對C++標(biāo)準(zhǔn)模板庫的測試,可以對標(biāo)準(zhǔn)容器(string/vector/list/set/map等)、迭代器等進(jìn)行解析,可直接在界面中進(jìn)行賦值操作。

b22ea57c-296c-11ed-9ade-dac502259ad0.png

4

智能指針測試

智能指針的使用解決了C++的內(nèi)存回收問題。VectorCAST/C++支持解析智能指針,比如shared_ptr,unique_ptr等,可直接通過工具界面為參數(shù)賦值。


b25a5492-296c-11ed-9ade-dac502259ad0.png

5

支持對第三方庫解析

在涉及到第三方庫的代碼測試中,VectorCAST/C++工具支持解析眾多第三方庫,并可針對相關(guān)庫函數(shù)進(jìn)行自動(dòng)插樁,實(shí)現(xiàn)圖像化界面操作。


b29c9a50-296c-11ed-9ade-dac502259ad0.png

集成實(shí)際交叉編譯鏈

VectorCAST/C++可以在Windows和Linux平臺(tái)中穩(wěn)定運(yùn)行,且支持眾多主流的交叉編譯鏈,比如Green Hills,Hightec,IAR,Tasking,Keil等。之所以支持眾多主流編譯鏈,是因?yàn)閂ectorCAST/C++是基于實(shí)際編譯鏈進(jìn)行測試的。


b2cd5744-296c-11ed-9ade-dac502259ad0.png

自動(dòng)生成測試用例

VectorCAST/C++滿足ISO26262和ASPICE中不同安全等級(jí)項(xiàng)目對覆蓋度指標(biāo)的要求,包括語句、分支、MC/DC等。同時(shí)支持基于不同覆蓋度指標(biāo)要求自動(dòng)生成測試用例并自動(dòng)填充輸入值,可以有效的提高V2X項(xiàng)目的測試效率。


b2f5889a-296c-11ed-9ade-dac502259ad0.png

綜上所述,在汽車電子未來發(fā)展中,大量復(fù)雜C++代碼會(huì)得到廣泛使用。借助工具對C++代碼的完美解析,都可以在工具中找到對應(yīng)的解決方案,實(shí)現(xiàn)圖形化界面的操作,同時(shí)借助工具自身的測試優(yōu)勢,可以有效地提高測試效率,實(shí)現(xiàn)C++代碼軟件的自動(dòng)化測試。

3

結(jié)束語

本文主要介紹了VectorCAST/C++工具在基于C++開發(fā)的汽車電子軟件項(xiàng)目中的應(yīng)用,當(dāng)前工具也被廣泛用于智能網(wǎng)聯(lián)、智能駕駛的量產(chǎn)項(xiàng)目中。VectorCAST/C++工具不僅適用于C++測試,也適用于C測試,且通過了南德認(rèn)證,是一款可用于功能安全認(rèn)證的高效的代碼動(dòng)態(tài)自動(dòng)化測試工具,已廣泛用于眾多國內(nèi)知名主機(jī)廠和零部件廠商。北匯信息作為Vector在中國的合作伙伴,致力于幫助中國客戶提升嵌入式控制系統(tǒng)的開發(fā)效率。如果你還在尋找合適的C/C++代碼測試工具,不妨來試一試VectorCAST/C++工具,定會(huì)讓你有心動(dòng)的感覺。此外,在過去的C++測試項(xiàng)目中,我們也積累了一些測試經(jīng)驗(yàn),期待與大家的交流與探討。


注:部分圖片來自于Vector。

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

    關(guān)注

    3042

    文章

    8468

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    C/C++代碼靜態(tài)測試工具Perforce QAC 2025.3的新特性

    ?Perforce Validate?中?QAC?項(xiàng)目的相對/根路徑的支持。C++?分析也得到了增強(qiáng),增加了用于檢測 C++?并發(fā)問題的新檢查,并改進(jìn)了實(shí)體名稱和實(shí)
    的頭像 發(fā)表于 10-13 18:11 ?141次閱讀
    <b class='flag-5'>C</b>/<b class='flag-5'>C++</b><b class='flag-5'>代碼</b>靜態(tài)<b class='flag-5'>測試</b>工具Perforce QAC 2025.3的新特性

    Perforce QAC產(chǎn)品簡介:面向C/C++的靜態(tài)代碼分析工具(已通過SO 26262認(rèn)證)

    Perforce QAC專為C/C++開發(fā)者打造,支持多種編碼規(guī)范、功能安全標(biāo)準(zhǔn)(ISO 26262)等,廣泛用于汽車、醫(yī)療、嵌入式開發(fā)領(lǐng)域,可幫助快速識(shí)別關(guān)鍵缺陷、提升代碼質(zhì)量、實(shí)現(xiàn)
    的頭像 發(fā)表于 07-10 15:57 ?641次閱讀
    Perforce QAC產(chǎn)品簡介:面向<b class='flag-5'>C</b>/<b class='flag-5'>C++</b>的靜態(tài)<b class='flag-5'>代碼</b>分析工具(已通過SO 26262認(rèn)證)

    OpenVINO? C++代碼中啟用 AddressSanitizer 時(shí)的內(nèi)存泄漏怎么解決?

    OpenVINO? C++代碼中啟用 AddressSanitizer 時(shí)遇到內(nèi)存泄漏: \"#0 0xaaaab8558370 in operator new(unsigned
    發(fā)表于 06-23 07:16

    主流的 MCU 開發(fā)語言為什么是 C 而不是 C++

    單片機(jī)的地界兒里,C語言穩(wěn)坐中軍帳,C++想分杯羹?難嘍。咱電子工程師天天跟那針尖大的內(nèi)存空間較勁,C++那些花里胡哨的玩意兒,在這兒真玩
    的頭像 發(fā)表于 05-21 10:33 ?706次閱讀
    主流的 MCU 開發(fā)語言為什么是 <b class='flag-5'>C</b> 而不是 <b class='flag-5'>C++</b>?

    創(chuàng)建了用于OpenVINO?推理的自定義C++和Python代碼,從C++代碼中獲得的結(jié)果與Python代碼不同是為什么?

    創(chuàng)建了用于OpenVINO?推理的自定義 C++ 和 Python* 代碼。 兩個(gè)推理過程中使用相同的圖像和模型。 從 C++ 代碼
    發(fā)表于 03-06 06:22

    代碼加密、源代碼防泄漏c/c++與git服務(wù)器開發(fā)環(huán)境

    代碼加密對于很多研發(fā)性單位來說是至關(guān)重要的,當(dāng)然每家企業(yè)的業(yè)務(wù)需求不同所用的開發(fā)環(huán)境及開發(fā)語言也不盡相同,今天主要來講一下c++及git開發(fā)環(huán)境的源代碼防泄密保護(hù)方案。企業(yè)源代碼泄密
    的頭像 發(fā)表于 02-12 15:26 ?747次閱讀
    源<b class='flag-5'>代碼</b>加密、源<b class='flag-5'>代碼</b>防泄漏<b class='flag-5'>c</b>/<b class='flag-5'>c++</b>與git服務(wù)器開發(fā)環(huán)境

    Spire.XLS for C++組件說明

    開發(fā)人員可以快速地 C++ 平臺(tái)上完成對 Excel 的各種編程操作,如根據(jù)模板創(chuàng)建新的 Excel 文檔,編輯現(xiàn)有 Excel 文檔,以及對 Excel 文檔進(jìn)行轉(zhuǎn)換。 Spire.XLS
    的頭像 發(fā)表于 01-14 09:40 ?1204次閱讀
    Spire.XLS for <b class='flag-5'>C++</b>組件說明

    EE-112:模擬C++中的類實(shí)現(xiàn)

    電子發(fā)燒友網(wǎng)站提供《EE-112:模擬C++中的類實(shí)現(xiàn).pdf》資料免費(fèi)下載
    發(fā)表于 01-03 15:15 ?0次下載
    EE-112:模擬<b class='flag-5'>C++</b>中的類實(shí)現(xiàn)

    AKI跨語言調(diào)用庫神助攻C/C++代碼遷移至HarmonyOS NEXT

    產(chǎn)品創(chuàng)新與功能迭代,而非技術(shù)遷移的細(xì)節(jié)問題,大幅提升開發(fā)效率。 據(jù)悉,涉及C/C++/ETS跨越語言調(diào)用的鴻蒙化應(yīng)用中,有超過80%的項(xiàng)目都在使用AKI,如某知名購物應(yīng)用,使用后減少了項(xiàng)目10%
    發(fā)表于 01-02 17:08

    HighTec C/C++編譯器套件全面支持芯來RISC-V IP

    德國薩爾布呂肯,2024年12月5日——世界領(lǐng)先的汽車C/C++編譯器解決方案提供商HighTec EDV Systeme GmbH宣布全面支持芯來科技的RISC-V IP。HighTec編譯器
    的頭像 發(fā)表于 12-23 09:04 ?1706次閱讀
    HighTec <b class='flag-5'>C</b>/<b class='flag-5'>C++</b>編譯器套件全面支持芯來RISC-V IP

    同樣是函數(shù),CC++中有什么區(qū)別

    同樣是函數(shù), CC++ 中有什么區(qū)別? 第一個(gè)返回值。 C語言的函數(shù)可以不寫返回值類型,編譯器會(huì)默認(rèn)為返回 int。 但是 C++
    的頭像 發(fā)表于 11-29 10:25 ?1167次閱讀

    C7000 C/C++優(yōu)化指南用戶手冊

    電子發(fā)燒友網(wǎng)站提供《C7000 C/C++優(yōu)化指南用戶手冊.pdf》資料免費(fèi)下載
    發(fā)表于 11-09 15:00 ?0次下載
    <b class='flag-5'>C</b>7000 <b class='flag-5'>C</b>/<b class='flag-5'>C++</b>優(yōu)化指南用戶手冊

    TMS320C6000優(yōu)化C/C++編譯器v8.3.x

    電子發(fā)燒友網(wǎng)站提供《TMS320C6000優(yōu)化C/C++編譯器v8.3.x.pdf》資料免費(fèi)下載
    發(fā)表于 11-01 09:35 ?1次下載
    TMS320<b class='flag-5'>C</b>6000優(yōu)化<b class='flag-5'>C</b>/<b class='flag-5'>C++</b>編譯器v8.3.x

    C語言和C++中結(jié)構(gòu)體的區(qū)別

    同樣是結(jié)構(gòu)體,看看在C語言和C++中有什么區(qū)別?
    的頭像 發(fā)表于 10-30 15:11 ?998次閱讀

    C7000優(yōu)化C/C++編譯器

    電子發(fā)燒友網(wǎng)站提供《C7000優(yōu)化C/C++編譯器.pdf》資料免費(fèi)下載
    發(fā)表于 10-30 09:45 ?0次下載
    <b class='flag-5'>C</b>7000優(yōu)化<b class='flag-5'>C</b>/<b class='flag-5'>C++</b>編譯器