clang tidy使用總結

2021-09-26 10:25:46 字數 1802 閱讀 8754

這篇文章主要講了以下幾點:

1,如何在centos7上安裝clang-tidy

2,如何使用clang-tidy

3,如何將clang-tidy結合blade對整個專案進行靜態掃瞄

(插入語:在ubuntu上安裝clang-tidy只需要一條命令:sudo apt-get install clang-tidy-5.0)

在centos上安裝clang-tidy做了個總結,主要有以下幾條命令:

(1)sudo yum install centos-release-scl

(2)sudo yum install llvm-toolset-7

(3)sudo yum install llvm-toolset-7-clang-analyzer llvm-toolset-7-clang-tools-extra

(4)scl enable llvm-toolset-7 『clang -v』

(5)scl enable llvm-toolset-7 『lldb -v』

(6)scl enable llvm-toolset-7 bash

詳細的資料可以參考下面兩個**:

安裝好clang-tidy以後,可以用是 clang-tidy -list-checks -checks=』『來看看clang-tidy可以靜態分析哪些方面的內容。

clang-tidy具體可以檢測以下幾個部分:

(1)boost檢測boost庫api使用問題

(2)cert檢測cert的**規範

(3)cpp-core-guidelines檢測是否違反cpp-core-guidelines

(4)google檢測是否違反google code style

(5)llvm檢測是否違反llvm code style

(6)readability檢測**上相關問題,但又不明確屬於任何**規範的

(7)misc其它一些零碎的check

(8)mpi檢測mpi api問題

(9)modernize把c++03**轉換成c++11**,使用c++11新特性

(10)performance檢測performance相關問題

可以直接對上面所有的部分進行檢查:如下面的命令:

clang-tidy -checks=』』 test.cpp – (對test.cpp進行靜態掃瞄,後面的--表示這個檔案不在compilation database裡面,可以直接單獨編譯)

也可以單獨對上面的某乙個部分的全部做掃瞄:clang-tidy -checks='performance-』 test.cpp – (對test.cpp做效能掃瞄)

同樣,也可以對某個部分中的某乙個方面做掃瞄:clang-tidy -checks=『performance-inefficient-vector-operation』 test.cpp – (對test.cpp做vector效能掃瞄)

另外,可以直接加』-fix』掃瞄出來的錯誤進行修改:clang-tidy -checks="-,misc-unused-using-decls" -fix test.cpp – (找出test.cc中所有沒有用到的using declarations並自動fix)

上面是掃瞄時常用到的一些情況。其他更詳細的知識可以參考下面的**:

EJunGrid使用總結

1 1。0版沒有實現垂直方向上的對齊,procedure tobgui reportdesign.griddrawcelltext acanvas tcanvas const arect trect const acoord tpoint agrid tzjgrid const text strin...

SDRAM使用總結

1,sdram的位址線,在我們一般用的什麼sram啊,psram啊,ram啊,一般而言都是有多少根位址線,然後可以算出定址空間,比如有11根位址線,那定址空間就是2的11次方減1。但是sdram是分列位址和行位址的,行 列位址線是復用的,所以有時候我們看到說定址空間有多大多大,但是看看位址線怎麼就那...

assert使用總結

assert expression1 assert expression1 expression2 如果expression1為true,則不丟擲錯誤,程式正常執行,expression2也不會執行。如果expression1為false,則丟擲異常,程式中斷跳出,expression2執行。一般來...