在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

  • <dfn id="79stg"></dfn>
    <object id="79stg"><div id="79stg"><label id="79stg"></label></div></object>
    <ruby id="79stg"><dl id="79stg"><noscript id="79stg"></noscript></dl></ruby>

      博客專欄

      EEPW首頁(yè) > 博客 > 使用Cppcheck對(duì)代碼進(jìn)行靜態(tài)檢查

      使用Cppcheck對(duì)代碼進(jìn)行靜態(tài)檢查

      發(fā)布人:美男子玩編程 時(shí)間:2025-03-10 來(lái)源:工程師 發(fā)布文章

      在汽車(chē)行業(yè)嵌入式軟件開(kāi)發(fā)的進(jìn)程中,單元測(cè)試環(huán)節(jié)對(duì)代碼進(jìn)行靜態(tài)檢查是至關(guān)重要的一環(huán),它能夠提前發(fā)現(xiàn)代碼中的潛在缺陷、邏輯錯(cuò)誤以及不符合編碼規(guī)范之處,為后續(xù)的集成測(cè)試、系統(tǒng)測(cè)試筑牢根基,極大程度地降低軟件開(kāi)發(fā)成本,提升軟件質(zhì)量。 

      圖片

      我之前團(tuán)隊(duì)習(xí)慣使用QAC這款強(qiáng)大的靜態(tài)分析工具。 然而,QAC 是一款付費(fèi)軟件,讓許多普通規(guī)模的汽車(chē)相關(guān)企業(yè),尤其是初創(chuàng)型公司或是預(yù)算有限的中小企業(yè)望而卻步。

      在沒(méi)有充足資金投入購(gòu)買(mǎi)此類工具的情況下,難道就只能放棄高效的靜態(tài)檢查了嗎?實(shí)則不然。

      在此,強(qiáng)烈推薦使用 Cppcheck 這款開(kāi)源免費(fèi)的靜態(tài)代碼分析工具。

      圖片

      Cppcheck 擁有諸多優(yōu)勢(shì),一方面,它支持對(duì) C 和 C++ 代碼進(jìn)行廣泛且細(xì)致的檢查,無(wú)論是常見(jiàn)的空指針引用、數(shù)組越界、內(nèi)存泄漏等經(jīng)典錯(cuò)誤,還是較為隱晦的未初始化變量使用、邏輯運(yùn)算優(yōu)先級(jí)混淆等問(wèn)題,都能被有效識(shí)別。

      另一方面,它具有出色的跨平臺(tái)特性,無(wú)論是 Windows、Linux 還是 Mac 系統(tǒng),都能無(wú)縫適配,這對(duì)于汽車(chē)嵌入式開(kāi)發(fā)中多樣的開(kāi)發(fā)環(huán)境來(lái)說(shuō)極為便利。

      圖片

      下載鏈接:https://cppcheck.sourceforge.io/ 

       這里我使用的是Windows版本安裝完成后,效果如下:

      圖片

      Cppcheck的使用比較簡(jiǎn)單,主要分為兩步,一是整理好需要檢查的軟件代碼工程;二是使用Cppcheck進(jìn)行檢查。


      1


      整理代碼工程

      拷貝一份代碼工程用于做靜態(tài)檢查,整理代碼工程只需要保留軟件工程中的所有頭文件和源文件,其他的編譯文件、配置文件等,全部刪除就可以。

      原工程如下:

      圖片

      整理后效果如下:

      圖片


      2


      靜態(tài)檢查

      靜態(tài)檢查前,需要將Cppcheck軟件的檢查設(shè)置修改成我們預(yù)期的檢查項(xiàng),以下是我的靜態(tài)檢查設(shè)置:

      圖片

      圖片

      點(diǎn)擊分析,選擇目錄,加載需要靜態(tài)檢查的軟件工程: 

      圖片

      導(dǎo)入軟件工程后,立刻會(huì)開(kāi)始靜態(tài)檢查: 

      圖片

      靜態(tài)檢查后可以看到有問(wèn)題文件的說(shuō)明,結(jié)果如下:

      圖片

      也可以設(shè)置過(guò)濾,查看不同等級(jí)的靜態(tài)檢查結(jié)果。 

      圖片

      最后,可以在統(tǒng)計(jì)中查看檢查結(jié)果匯總。

      圖片

      可以將結(jié)果導(dǎo)出成PDF文件。

      圖片

      結(jié)果參數(shù)說(shuō)明如下:

      • error指代代碼里存在的錯(cuò)誤項(xiàng),像內(nèi)存泄漏這類情況。

      • warning給出的編程改進(jìn)意見(jiàn),目的在于避免產(chǎn)生 bug。

      • style涉及編碼風(fēng)格相關(guān)內(nèi)容,會(huì)提示哪些函數(shù)未被使用以及多余代碼等情況。

      • portability提示在跨平臺(tái)時(shí)容易出現(xiàn)的一些問(wèn)題。

      • performance表明該部分代碼具備可優(yōu)化的空間。

      • information屬于其他信息,可予以忽略。

      靜態(tài)檢查結(jié)果PDF如下:

      圖片


      *博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。



      關(guān)鍵詞: Cppcheck

      技術(shù)專區(qū)

      關(guān)閉