cppcheck 2.6 的新版本已經發布,這是它的新聞

釋放 靜態代碼分析器的版本 cppcheck 2.6允許檢測 C 和 C++ 代碼中的各種錯誤即使使用嵌入式系統典型的非標準語法。

提供了一組插件,通過這些插件提供了 cppcheck 與各種開發、持續集成和測試系統的集成,以及檢查代碼是否符合編碼風格等功能。

為了分析代碼, 您可以使用自己的解析器和外部 Clang 解析器. 它還包括一個 donate-cpu.py 腳本,為 Debian 軟件包的協作代碼審查工作提供本地資源。

cppcheck的發展 專注於識別與未定義行為相關的問題 以及使用從安全角度來看是危險的構造。

目標也是盡量減少誤報. 在確定的問題中:指向不存在的對象的指針、被零除、整數溢出、不正確的位移操作、不正確的轉換、內存問題、不正確使用 STL、取消引用空指針、在訪問實際緩衝區後應用檢查、使用未初始化的變量溢出緩衝區限制。

cppcheck 2.6 的主要新特性

在這個新版本中e 向解析器的內核添加了各種檢查,其中函數體中沒有返迴聲明的驗證,以及重疊數據記錄、未定義行為定義的驗證以及被比較值的驗證都超出了表示範圍類型的值。

另一個引人注目的新奇是 複製優化不適用於 return std::move (local);,此外還添加了對 Unix 平台以不同顏色顯示診斷消息的支持,並且庫標記現在可以包含一個標籤對於具有唯一屬性的智能指針。 現在向這些類型的智能指針發出懸空鏈接警告。

另外, Misra C 2012 控制已全面實施, 包括修正案 1 和修正案 2,但規則 1.1、1.2 和 17.3 除外。 編譯器應執行檢查 1.1 和 1.2。 像 GCC 這樣的編譯器可以檢查 17.3。

在其他突出的變化中 這個新版本:

  • 文件不能同時打開以在不同的流中讀寫;
  • 添加了 ValueFlow 的符號分析。 計算兩個未知變量之間的差異時使用簡單的增量;
  • 用於“define”標記列表的規則也可以匹配#include;
  • 圖書館標籤現在可以包含一個標籤因此可以接受像 std::size、std::empty、std::begin、std::end 等容器的自由函數。 您可以為容器指定產量或操作;
  • 修復了處理 –cppcheck-build-dir 參數的問題;
    htmlreport 現在可以打印關於作者的信息(使用 git blame);
  • 對非恆定但可以變為恆定的變量發出延長警告;
  • 累積的分析器錯誤和缺陷已得到修復。

最後,如果您有興趣了解更多關於這個新版本的信息,可以諮詢 以下鏈接中的詳細信息。

如何在 Linux 上安裝 cppcheck?

對於那些有興趣能夠在他們的 Linux 發行版上安裝 cppcheck 的人,他們可以按照我們在下面分享的說明進行操作。

如果您是 Debian 用戶或任何其他基於或衍生自它的發行版(例如 Deepin 或 Ubuntu),則可以通過鍵入以下命令直接從終端安裝:

sudo apt-get install cppcheck

現在,對於 Fedora 用戶及其衍生產品,他們可以通過鍵入以下命令來執行安裝:

sudo yum instalar cppcheck

或者對於 Arch Linux 用戶或它的任何其他衍生產品,他們可以使用以下命令進行安裝:

sudo pacman -S cppcheck


本文內容遵循我們的原則 編輯倫理。 要報告錯誤,請單擊 這裡.

成為第一個發表評論

發表您的評論

您的電子郵件地址將不會被發表。

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。