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