轉(zhuǎn)帖|使用教程|編輯:況魚杰|2020-10-27 10:18:12.443|閱讀 523 次
概述:本文介紹了PC-lint Plus的使用方法:集成到IDE-如何集成到VC中。?
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
PC-lint Plus是一種靜態(tài)分析工具,通過分析C和C ++源代碼來發(fā)現(xiàn)軟件中的缺陷。與編譯器一樣,PC-lint Plus會解析源代碼文件,執(zhí)行語義分析,并構(gòu)建一個抽象語法樹來表示程序。PC-lint Plus采用各種機制,包括數(shù)據(jù)流分析,數(shù)值跟蹤,讀寫分析,強類型檢查,功能語義驗證和許多其他技術(shù),來提供對單個文件和整個項目強大而全面的分析。
本文介紹了PC-lint Plus的使用方法:集成到IDE-如何集成到VC中。
在集成開發(fā)環(huán)境中,PC-Lint?8.0對VC++6和VC++7.0的支持是最完善的,支持直接從VC的工程文件(VC6是*.dsp,VC7是*.vcproj)導(dǎo)出對應(yīng)工程的.Lnt文件,此文件包含了工程設(shè)置中的預(yù)編譯宏,頭文件包含路徑,源文件名,無需人工編寫工程的.Lnt文件。
下面是集成到的VC6中的tools設(shè)置說明,參見C:\Lint8\lnt\env-vc6.lnt中的注釋。
導(dǎo)出當(dāng)前工程的.lnt文件(用來導(dǎo)出工程設(shè)置和源文件名,頭文件包含路徑),下面的對話框點擊菜單的Tools->Customize->Tools可以看到。
PC_LINT?8.0?Export?Project.Lnt? Command:?C:\PCLint8\LINT-NT.EXE? Arguments:?+linebuf?$(TargetName).dsp>$(TargetName).lnt? Initial?directory:?$(TargetDir)\..?
當(dāng)修改過工程設(shè)置中的頭文件包含路徑、預(yù)編譯宏或新增源文件后,需要重新導(dǎo)出工程的lnt文件,否則修改后的設(shè)置無法自動體現(xiàn)在工程的lnt文件中。
以上設(shè)置只要修改Command中的Lint-nt.exe所在路徑即可。執(zhí)行過這個命令后,$(TargetName).lnt被放到$(TargetName).dsp所在目錄中($(TargetDir)\..下),如果成功,打印出的返回值為0,如果失敗則返回非零值,具體出錯信息需查看$(TargetDir)\..\?$(TargetName).lnt文件內(nèi)容。
其中$(…)的字串為VC的參數(shù)宏,調(diào)用工具命令時VC將它們替換為對應(yīng)的字符串。$(TargetName)為當(dāng)前激活的工程名(通過菜單Project->Set?Active?Project設(shè)置當(dāng)前激活工程,或在WorkSpace的工程樹上右鍵對應(yīng)的工程選擇Set?as?Active?Projec),$(?TargetDir)為當(dāng)前激活工程輸出目標(biāo)文件所在路徑(一般缺省為工程所在目錄下的Debug或Release目錄),具體參數(shù)宏的含義說明參考MSDN中的VC的使用指南。
在Initial?directory?的$(TargetDir)\..表示在這個目錄下執(zhí)行此命令。
注:參數(shù)+linebuf表示加倍行緩沖的大小,最初是600?bytes。行緩沖用于存放當(dāng)前行和你讀到的最長行的信息。
檢查當(dāng)前激活工程中當(dāng)前窗口中的源文件。
PC_LINT?8.0?For?Unit?Check Command:?C:\PCLint8\LINT-NT.EXE Arguments:?-i"C:\PCLint8"?-u?std.lnt?env-vc6.lnt?$(TargetName).lnt?"$(FilePath)" Initial?directory:?$(TargetDir)\..
注意這一步最容易出錯誤。與之前路徑不同,會出現(xiàn)找不到頭文件的路徑的情況
執(zhí)行此命令前提是$(TargetDir)\..目錄下已經(jīng)有工程的$(TargetName).lnt文件,這個文件在步驟1中生成。
第一個參數(shù)-i"C:\PCLint8"為lint搜索*.lnt文件的目錄,這里就是我們的配置路徑。
std.lnt就是前面配置過程中生成編譯環(huán)境的配置文件,如果有需要支持多個編譯環(huán)境,可以直接改成對應(yīng)的配置文件名,例如這里可以改為std_a.lnt,表示使用std_a.lnt中所配置的編譯環(huán)境設(shè)置。
最后一個參數(shù)"$(FilePath)"就是當(dāng)前窗口中的帶路徑的源文件名。需要注意的是,當(dāng)前窗口中打開的源文件一定要屬于當(dāng)前激活的工程,否則lint可能會出錯。
檢查當(dāng)前激活工程中的所有源文件。
PC_LINT?8.0?For?Project?Check Command:?C:\PCLint8\LINT-NT.EXE Arguments:?+ffn?-i"C:\PCLint8"?std.lnt?env-vc6.lnt?$(TargetName).lnt Initial?directory:?$(TargetDir)\..
執(zhí)行此命令前提是$(TargetDir)\..目錄下已經(jīng)有工程的$(TargetName).lnt文件,這個文件在步驟1中生成。
此命令把$(TargetName).lnt中所包含的源文件lint一遍,如果工程比較大的話,一般輸出的內(nèi)容會超過VC的輸出窗口的緩沖區(qū)大小,導(dǎo)致只能看到后面一部分Lint的信息,可以把Arguments改為 +ffn?-i"C:\PCLint8"?std.lnt?env-vc6.lnt?$(TargetName).lnt>$(TargetName).txt
把結(jié)果輸出到一個名為$(TargetName).txt的文件里。
注:參數(shù)中的+ffn表示Full?File?Names,可被用于控制是否使用的完整路徑名稱表示。
本文內(nèi)容就是這樣了,希望對您有所幫助!您可以繼續(xù)關(guān)注我們慧都網(wǎng),了解更多產(chǎn)品資訊~也可以下載PC-lint Plus試用版免費評估~
相關(guān)內(nèi)容推薦:
PC-lint Plus v1.3.5更新內(nèi)容>>>
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn