PC-Lint 介紹
PC-Lint 是GIMPEL SOFTWARE 公司研發的C/C++軟體代碼靜態分析工具,他的全稱是PC-Lint/FlexeLint for C/C++。PC-Lint 能夠在Windows、MS-DOS 和OS/2 平台上使用,以二
進制可執行文檔的形式發布,而FlexeLint 運行於其他平台,以原始碼的形式發布。PC-lint
在全球擁有廣泛的客戶群,許多大型的軟體研發組織都把PC-Lint 檢查作為代碼走查的第一
道工序。PC-Lint 不但能夠對程式進行全局分析,識別沒有被適當檢驗的數組下標,報告未被
初始化的變數,警告使用空指針連同冗餘的代碼,還能夠有效地提出許多程式在空間利用、
運行效率上的改進點。
PC Lint的作用
1、PC-Lint是一種靜態代碼檢測工具,可以說,PC-LINT是一種更加嚴格的編譯器,不僅可以象普通編譯器那樣檢查出一般的語法錯誤,還可以檢查出那些雖然完全合乎語法要求,但很可能是潛在的、不易發現的錯誤。2、PC-lint不但可以檢測單個檔案,也可以從整個項目的角度來檢測問題,因為C語言編譯器固有的單個編譯,這些問題在編譯器環境下很難被檢測,而PC-Lint在檢查當前檔案的同時還會檢查所有與之相關的檔案,可想而知,它會對我們有很大的幫助。
3、 PC-lint支持幾乎所有流行的編輯環境和編譯器,比如Borland C++從1.x到5.x各個版本、Borland C++ Build、GCC、VC、watcomC/C++、Source insight、intelC/C++等等,也支持16/32/64的平台環境。
4、支持Scott Meyes的名著(Effective C++/More Effective C++)中說描述的各種提高效率和防止錯誤的方法。
PCLint配置包的內容
對代碼進行PCLint檢查前,需要配置一個由很多選項組成的參數包,按照包中規定的要求來對代碼進行檢查,一個配置包通常包含下列幾類內容:·Rules for Specifying Options:比如/*lint -save -e54 */
·Error Inhibition Options:比如 –e, -efile,-elib,-efunc
·Size and Alignment Options :比如 –sb#
·Verbosity Options :比如 -v
·Flag Options:比如+fpn
·Message Presentation Options:比如-append( errno, string )
·Other Options:比如-cpp( ext )
·Compiler Adaptation:在co-xxx.lnt檔案中
注意:實際檢查代碼時:
1)LINT選項也可以放在注釋中,例如:/*lint option1 option2 ... optional commentary */
2)可以通過“-”,“+”, “?”,“*” 控制哪些檢查項有效或失效
3)在代碼中可以通過添加 #ifdef_lint …#endif 讓pclint不檢查指定的代碼