のリリース 静的コードアナライザーのバージョン cppチェック2.6その CおよびC ++コードのさまざまな種類のエラーを検出できます組み込みシステムに典型的な非標準の構文を使用する場合でも。
プラグインのコレクションが提供され、cppcheckとさまざまな開発、継続的インテグレーション、テストシステムとの統合、およびコードのコーディングスタイルへの準拠のチェックなどの機能が提供されます。
コードを分析するには、 独自のパーサーと外部のClangパーサーの両方を使用できます。 また、Debianパッケージの共同コードレビュー作業のためのローカルリソースを提供するdonate-cpu.pyスクリプトも含まれています。
cppcheckの開発 未定義の動作に関連する問題の特定に焦点を当てています 安全性の観点から危険な構造物の使用。
目標は、誤検知を最小限に抑えることでもあります。 識別された問題の中には、存在しないオブジェクトへのポインター、ゼロ除算、整数オーバーフロー、誤ったビットシフト操作、誤った変換、メモリの問題、STLの誤った使用、nullポインターの逆参照、バッファーへの実際のアクセス後のチェックの適用、初期化されていない変数を使用して、バッファ制限をオーバーフローさせます。
cppcheck2.6の主な新機能
この新しいバージョンではeはパーサーのカーネルにさまざまなチェックを追加しました、その中で、関数の本体にreturnステートメントがないことの検証、重複するデータレコードの検証、未定義の動作定義、および比較される値の検証が表現の範囲外です。タイプの値の。
目立つもう一つの目新しさは コピーの最適化は、return std :: move(local);には適用されません。、さらに、Unixプラットフォーム用に異なる色で診断メッセージを表示するためのサポートが追加され、ライブラリタグが追加されましたタグを含めることができるようになりました固有のプロパティを持つスマートポインタ用。 これらのタイプのスマートポインタに対して、ダングリングリンクの警告が発行されるようになりました。
さらに、 Misra C 2012コントロールは完全に実装されており、 規則1、2、および1.1を除き、修正1.2および修正17.3を含みます。 コンパイラはチェック1.1と1.2を実行する必要があります。 GCCのようなコンパイラは17.3をチェックできます。
目立つ他の変更のうち この新しいバージョンの:
- ファイルを同時に開いて、異なるストリームの読み取りと書き込みを行うことはできません。
- ValueFlowのシンボリック分析を追加しました。 XNUMXつの未知の変数間の差を計算するときは、単純なデルタが使用されます。
- 「定義」トークンリストに使用されるルールは、#includeにも一致します。
- ライブラリタグタグを含めることができるようになりましたしたがって、std :: size、std :: empty、std :: begin、std :: endなどのコンテナを受け入れることができる無料の関数。 コンテナのyeldまたはアクションを指定できます。
- –cppcheck-build-dirパラメーターの処理に関する問題を修正しました。
htmlreportは、作成者に関する情報を印刷できるようになりました(git blameを使用)。 - 一定ではないが一定になる可能性のある変数に対する警告の拡張発行。
- 蓄積されたアナライザーのバグと欠陥が修正されました。
最後に、この新しいバージョンについて詳しく知りたい場合は、相談してください。 詳細は次のリンクにあります。
Linuxにcppcheckをインストールするにはどうすればいいですか?
Linuxディストリビューションにcppcheckをインストールできるようにすることに興味がある人は、以下で共有する手順に従うことができます。
Debianユーザー、またはDeepinやUbuntuなど、DebianユーザーまたはDebianから派生した他のディストリビューションの場合は、次のコマンドを入力して、ターミナルから直接インストールできます。
sudo apt-get install cppcheck
これで、Fedoraユーザーとその派生ユーザーは、次のコマンドを入力してインストールを実行できます。
sudo yum instalar cppcheck
または、Arch Linuxユーザーまたはその派生物である場合は、次のコマンドを使用してインストールできます。
sudo pacman -S cppcheck