翻譯|使用教程|編輯:黃竹雯|2018-12-24 15:35:00.000|閱讀 969 次
概述:C和C ++的首選靜態(tài)分析工具 PC-lint Plus 常見問題集
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
PC-lint Plus是一種靜態(tài)分析工具,通過分析C和C ++源代碼來(lái)發(fā)現(xiàn)軟件中的缺陷。與編譯器一樣,PC-lint Plus會(huì)解析源代碼文件,執(zhí)行語(yǔ)義分析,并構(gòu)建一個(gè)抽象語(yǔ)法樹來(lái)表示程序。PC-lint Plus采用各種機(jī)制,包括數(shù)據(jù)流分析,數(shù)值跟蹤,讀寫分析,強(qiáng)類型檢查,功能語(yǔ)義驗(yàn)證和許多其他技術(shù),來(lái)提供對(duì)單個(gè)文件和整個(gè)項(xiàng)目強(qiáng)大而全面的分析。
1.Q:如何告訴lint在哪里找到我的編譯器頭文件?
A:使用-i選項(xiàng)或INCLUDE環(huán)境變量為當(dāng)前目錄中找不到的文件指定搜索路徑。
您可以多次使用-i選項(xiàng)指定多個(gè)搜索目錄。-i選項(xiàng)和目錄名稱之間不應(yīng)有空格,終止目錄分隔符是可選的。目錄將按照指定的順序被搜索。例如,要在/usr/local/include中查找頭文件,然后在/usr/include中查找,您可以使用:
-i/usr/local/include -i/usr/include
或者,您可以將INCLUDE環(huán)境變量設(shè)置為以分號(hào)分隔(Windows)或冒號(hào)分隔(Unix)的目錄列表。例如:
在DOS/Windows上:set INCLUDE=/usr/local/include;/usr/include
在UNIX/LINUX上:export INCLUDE=/usr/local/include:/usr/include
您可以使用-incvar選項(xiàng)指定備用環(huán)境變量名稱。
如果設(shè)置了+fim標(biāo)志選項(xiàng)(默認(rèn)情況下),則可以使用一個(gè)-i選項(xiàng)指定多個(gè)目錄,方法與上述INCLUDE變量相同。例如:
-i/usr/local/include;/usr/include
--i選項(xiàng)與-i選項(xiàng)相同,但只有在搜索使用-i選項(xiàng)指定的所有目錄之后才搜索使用此選項(xiàng)指定的目錄。
有關(guān)-i,--i和-invcar選項(xiàng),請(qǐng)參見參考手冊(cè)的第5.7節(jié),有關(guān)INCLUDE環(huán)境變量,請(qǐng)參見第15.2.1節(jié)。
2.Q:如何讓lint控制編譯器頭文件?
A:Lint使用“library”頭文件來(lái)指定程序員無(wú)法控制的頭文件(例如編譯器頭文件)。默認(rèn)情況下,所有來(lái)自外部目錄的#includes或包含在<>中的#includes都被視為“library”。這可以通過使用+libclass選項(xiàng)進(jìn)行修改,并可使用+libdir/-libdir和+libh/-libh選項(xiàng)進(jìn)行微調(diào)。然后,您可以使用-wlib,-elib和-elibsym選項(xiàng)來(lái)控制從庫(kù)頭文件發(fā)出的信息。隨PC-lint Plus一起分發(fā)的編譯器選項(xiàng)文件通常包含-wlib(1)選項(xiàng),該選項(xiàng)將庫(kù)頭文件的lint輸出限制為僅錯(cuò)誤(抑制警告和信息性信息)。
3.Q:我想為C文件抑制錯(cuò)誤,例如715,不是為C ++文件抑制錯(cuò)誤。
A:使用-header選項(xiàng),如:
-header(x.h)
然后在頭文件中(本例中為x.h):
#ifdef __cplusplus
//lint +e715
#else
//lint -e715
#endif
未完待續(xù)~
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn