這篇文章主要講了以下幾點:
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執行。一般來...