kkx小編給大家分享的PC-Lint一款專門用于開發C/C++的開發環境,對C/C++代碼中的錯誤、警告甚至可優化語句給出提示,功能強大。pc lint 9是C/C++編譯神器,可嵌入VS、Source Insight、Keil等等IDE中,因為C/C++的靈活性使得許多開發人員都是用這種語言進行程序開發,因為代碼的靈活性,使得代碼編寫具有很大的隨意性,如果不進行墻紙類型檢查,也不做任何邊界檢查,那么代碼就會出現隱患。
kkx小編給大家分享的PC-LINT為破解修正版,內附安裝說明,可直接安裝使用。
PC-Lint 9.0L功能
強類型
變量跟蹤
順序檢查
弱定義
格式檢查
縮進檢查
PC-Lint 9.0L使用方法
pc-lint目錄下幾個重要的文件及程序
lint-nt.exe:PC-lint的可執行程序。
config.exe: PC-lint的配置文件程序。
pc-lint.pdf:PC-lint的PDF格式的在線手冊,本文的大部分內容是從中得來的。
msg.txt: 對于錯誤消息編號的詳細解釋。
Lnt/: 這個目錄下有些東西還是值得認識一下。
co-....lnt: 指定的編譯器的可選編譯文件。
co.lnt: 通用的可選編譯文件。
sl-....c 非ANSI編譯器的標準庫文件模塊
sl.c: 非ANSI編譯器的通用標準庫文件模塊
env-....lnt:不同平臺下的可選文件,包括MS Visual Studio和其他各種編輯工具。
lib-....lnt:可選文件, 特定的"有挑戰性"的庫文件。
au-....lnt: 可選文件, 作者們推薦的檢測條件。
錯誤信息編號
對于大部分的錯誤消息,PC-lint都提供了一個關聯的錯誤編號。小于1000的錯誤編號是分配給C語言的,1000以上的錯誤編號則是分配給C++語言的。1000呢?呵呵,被保留了。先看一個表格。
C C++ 告警級別
語法錯誤(Syntax Errors) 1 - 199 1001 - 1199 1
內部錯誤(Internal Errors) 200 - 299 0
致命錯誤(Fatal Errors) 300 - 399 0
告警(Warnings) 400 - 699 1400 - 1699 2
提示(Informational) 700 - 899 1700 - 1899 3
可選信息(Elective Notes) 900 - 999 1900 - 1999 4
對于C語言,1~199是與語法錯誤;200~299是PC-lint內部錯誤,應該決不會發生的;300~399是致命錯誤,通常是由于超越了某些限制;400~699是警告消息,提示被檢查的程序中可能存在錯誤;700~899是提示信息,這些提示信息可能有錯誤,也可能是合法的程序,取決于個人的編程風格;900~999則是一些稱為可選信息,一般不會自動輸出。
PC-lint提供了高級級別設置選項-wLevel,缺省的級別為3級。-w0, -w1 , -w2, -w3, -w4 分別可以生成上述表格中對應告警級別和級別更低的告警,其中級別越低告警越重要。同樣,也提供了處理庫函數的頭文件告警級別的選項-wlib(Level),缺省的級別也是3級,級別對應的含義與前者一樣。
選項的規則
通過使用加號"+"和減號"-",以注釋的形式插入代碼中,來恢復和屏蔽指定的被檢查的選項。格式如下:
/*lint option1 option2 ... optional commentary */
或者
//lint option1 option2 ... optional commentary
注意:lint必須是小寫,選項的一行不能超過80個字符,否則導致致命的錯誤,錯誤信息的編號就是323。如果選項確實有很長,可以通過換行的方式來實現。另外屏蔽和恢復的選項的代碼可以放在宏定義中,宏被展開后,這些選項會生效。
選項中的空格
因為空格是用來分隔選項的,除此之外只能出現在圓括號的旁邊或是空格自身被引用(例如operator new按語法要求中間就有空格)。舉個例子:
-esym(534,printf,scanf,operator new)
-esym(534, printf, scanf, operator new)
-esym( 534 , printf , scanf , operator new )
對于第三個,空格出現在圓括號的旁邊,也出現在自身被引用的地方(operator new)。另外operator和new之間出現兩個空格也是不合法的,因為它違反了語法規則。另外,也可以使用雙引號("")來保護空格,例如:
-"dWORD=unsigned short"
PC-Lint 9.0L安裝配置
1.1組裝PC-lint
(1)下載PC-lint(PC-Lint8.00w)。
(2)將下載的文件解壓至到D盤,并且對文件夾重命名為PC-Lint,那樣途徑為D:/PC-Lint。
1.2將PC-lint集成到VC6.0
1.2.1對單獨C/C++開展靜態代碼分析
(1)將D:/PC-Lint/lnt中的3個文檔lib-w32.lnt,env-vc6.lnt,co-msc60.lnt拷貝到D:/PC-Lint/下。
(2)開啟co-msc60.lnt,將該文件倒數第二行"lib-ole.lnt"內容改成"D:/PC-Lint/lnt/lib-ole.lnt",就是說在前邊再加上相對路徑,以防在之后的流程中未找到該文件。
(3)在D:/PC-Lint/下創建std.lnt和options.lnt2個文檔,在其中std.lnt的內容如下:
注:-i后邊的路徑名為VC6.0的安裝路徑和以及頭目標文件夾;options.lnt可以稍微為空。
(4)在VC6.0的工具欄中,Tools--->Customize...-->tools新創建一個名為pclint的項,在下面填寫
"Command"項填寫:D:/PC-Lint/lint-nt.exe
"Argument"項填寫:-uD:/PC-Lint/std.lnt D:/PC-Lint/env-vc6.lnt"$(FilePath)"
之后在UseOutputWindow打上勾就可以。
(5)在VC6.0的工具欄Tools下多了一個pclint選擇項,打開一個VC項目后,就可以使用這個選擇項對單獨C/C++文件進行靜態代碼分析了。
1.2.2對一個VC6.0內容進行靜態代碼分析
下面的步驟要在1.2.1的前三步的基礎上的。
(1)先去http://www.weihenstephan.de/~syring/win32/UnxUtils.zip下載UnxUtils.zip。必須運用unix里的find等指令來搜索文件列表中的C和C++文檔,然后再將他們贈給lint程序處理。
(2)緩解壓力UnxUtils.zip到D盤,那樣途徑為D:/UnxUtils。
(3)在VC6.0的工具欄Tools下多了一個pclint_prj選擇項,打開一個VC項目后,就可以使用這個選擇項對單獨C/C++文件進行靜態代碼分析了。
"Command"項填寫:D:/UnxUtils/usr/local/wbin/find.exe
"Argument"項填寫:$(FileDir)-name*.c-o-name*.cpp|D:/UnxUtils/usr/local/wbin/xargsD:/PC-Lint/lint-nt-i"D:/UnxUtils/usr/local"-uD:/PC-Lint/std.lntD:/PC-Lint/env-vc6.lnt
之后在UseOutputWindow打上勾就可以。
(4)在VC6.0的工具欄Tools下多了一個pclint_prj選擇項,打開一個VC項目后,就可以使用這個選擇項對VC內容進行靜態代碼分析了。
留意:"Argument"項填寫的具體內容一定要注意主要參數里的途徑,你要是不應用以上途徑,能用新思路將主要參數里的途徑更換,以防重新寫主要參數而造成出差錯。
1.3將PC-lint集成到SourceInsight3.5中
1.3.1對單獨C/C++開展靜態代碼分析
(1)開啟SourceInsight,挑選Options-->CustomCommands-->Add,鍵入pclint
(2)在Run中填好:D:/PC-Lint/lint-nt-uD:/PC-Lint/std.lntD:/PC-Lint/env-vc6.lnt%f
(3)Dir無需填好,將IconicWindow,CaptureOutput,ParseLinksinOutPut,三項啟用上。
(4)隨后點右邊的Menu...,在彈出的頁面上在下拉列表Menu中挑選View,隨后在下面的MenuCotents中挑選,右邊點Insert就可以。
(5)還可以在SourceInsight3.5菜單欄View下見到剛剛新建設項pclint,開啟工程項目的任意一個待分析的源代碼,運行pclint即可開始靜態代碼分析了。
1.3.2對一個內容進行靜態代碼分析
下面的步驟要在1.2.2的基礎上的。
(1)開啟SourceInsight,挑選Options-->CustomCommands-->Add,鍵入pclint_prj
(2)在Run中填好:
D:/UnxUtils/usr/local/wbin/find.exe%d-name*.c-o-name*.cpp|D:/UnxUtils/usr/local/wbin/xargsD:/PC-Lint/lint-nt-i"D:/UnxUtils/usr/local"-uD:/PC-Lint/std.lntD:/PC-Lint/env-vc6.lnt
(3)Dir無需填好,將IconicWindow,CaptureOutput,ParseLinksinOutPut,三項啟用上。
(4)隨后點右邊的Menu...,在彈出的頁面上在下拉列表Menu中挑選View,隨后在下面的MenuCotents中挑選,右邊點Insert就可以。
(5)還可以在SourceInsight3.5菜單欄View下見到剛剛新建設項pclint_prj,開啟新項目,運作pclint_prj就可以對內容進行靜態代碼分析了。
以上便是KKX小編給大家分享介紹的PC-Lint 9.0L破解版!