<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
"); //-->

博客專(zhuān)欄

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

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

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

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

圖片

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

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

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

圖片

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

另一方面,它具有出色的跨平臺特性,無(wú)論是 Windows、Linux 還是 Mac 系統,都能無(wú)縫適配,這對于汽車(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軟件的檢查設置修改成我們預期的檢查項,以下是我的靜態(tài)檢查設置:

圖片

圖片

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

圖片

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

圖片

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

圖片

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

圖片

最后,可以在統計中查看檢查結果匯總。

圖片

可以將結果導出成PDF文件。

圖片

結果參數說(shuō)明如下:

  • error指代代碼里存在的錯誤項,像內存泄漏這類(lèi)情況。

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

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

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

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

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

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

圖片


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



關(guān)鍵詞: Cppcheck

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>