Ⅰ 如何使用pc-lint檢查代碼
介紹:對於多個源程序文件且多個頭文件目錄的項目進行PCLint語法檢查。
1.安裝
我使用的是PC.Lint.v8.00e,是不用安裝的版本。
解開到E:\PC.Lint.v8.00e目錄,可執行文件為Lint.exe(lint-nt.exe與其相同,可能為NT平台用的,在Win2000下都可運行)。
子目錄lnt內是檢查的規則及選項文件,這兩種文件擴展名全為告仔凳.lnt。
2.准備自己工程的選項文件
在E:\PC.Lint.v8.00e\lnt下新建MyProj.lnt文本文件,我們將自己工程的很多頭文件目錄,在其中一一列出來,內容如下:
std.lnt/*注釋:包含的規則和/或選項文件*/
env-vc6.lnt
/*下面為各頭文件目錄,可以在字串中不要雙引號,可以有多行*/
-i"C:\MyProj\IncludeA"
-i"C:\MyProj\IncludeB"
-iC:\MyProj\IncludeC
-iC:\MyProj\IncludeD
-e641//另一種注釋//這是省略#641錯誤
【注意】指明各頭文件目錄很重要。頭文件各目錄的名稱可能在VC的Project\Project
Settings\Project Options欄中:
/I "../Include/PS",可供借鑒(相對路徑暫未測試)。
當後面運行Lint時出現無法打開某個頭文件時,需要不斷添加頭文件所在目錄的名稱到本選項文件中。
3.在VC中運行PCLint(針對單個文件但需包含多個頭文件目錄):
A
點擊Tools/Customize/Tools出現定製窗口
B 在Menu
contents中雙擊下面的空白攔,輸入擬新增的Tool名稱:PCLint
C
雙擊PClint項,在Command中填入要調用的.exe文件名:lint
Arguments:中填入:-i"E:\PC.Lint.v8.00e\lnt" MyProj.lnt $(FilePath)
【注意】$(FilePath)這個字串是個宏名,也可以通過點擊右邊的三角箭頭選擇;可能為要檢查的本文件的路徑加文件名,而
不能是$(FileName)!!!因為它可能只是文件名而不帶路徑,將導致使用時說無法發現!
另外,MyProj.lnt這個選項文件必須在$(FilePath)之前。
Initial
Directory項:在Arguments項中若缺少-i"E:\PC.Lint.v8.00e\lnt"時將報無法找到各個.lnt文件,可在此
欄填E:\PC.Lint.v8.00e\lnt來指定。
選中"Use Output Window"
(這將使PCLint運行的結果在VC下方Output窗口中,雙擊行號還可以跳到指定行)
D
打開一個項目,讓焦點位於某個源程序編輯窗口,點擊Tools/pclint菜單即可
【注意】直到VC Output窗口中出現Tool returned code: ,才算Tool運行完,若未運行完,可能在再點擊PCLint時報錯。
4.網上搜到的VC環境多個文件同時Lint的方法,大致為找到各個.c文件,將各文件名經xargs傳給lint來實現。但需要find,xargs等
命令,似乎需要模擬unix環境的軟體支持中才有,我裝的Cygwin的環境中對find命令後的格式有問題,無法支持unix中的
find
. -name *.c,故無法由此找到各戚好個.c文件名。但可以用Cygwin的ls命令來代替find。
【原方法如下:】
A
點擊Tools/Customize/Tools出現定製窗口
B 在Menu contents中雙擊空白攔,輸入:PCLint-project
C 雙擊PCLint-project項,在Command:中填入:find
Arguments:中填入:$(FileDir) -name
*.c | xargs pclint -i"c:\unix\usr" -u std.lnt env-vc6.lnt
選中"Use Output
Window"
D 打開一個項目,讓焦點位於最項層目前的一個Source Window中,點擊Tools/PCLint-project菜單即可
【方法1如下:襪旅】
A 點擊Tools/Customize/Tools出現定製窗口
B 在Menu
contents中雙擊空白攔,輸入:PCLint-Proj
C 雙擊PCLint-Proj項,在Command:中填入:ls
Arguments:中填入:*.c |xargs lint -i"E:\PC.Lint.v8.00e\lnt" MyProj.lnt
Initial
Directory項:本欄填寫工程的一個源文件子目錄(保證在Arguments項中有-i"E:\PC.Lint.v8.00e\lnt")
選中"Use Output Window"
D 打開一個項目,讓焦點位於最頂層目前的一個Source
Window中,點擊Tools/PCLint-Proj菜單即可
【最簡單的方法如下:】
A 在MyProj.lnt末尾添加一行 *.c (即目標為本目錄下所有.c文件)
B
點擊Tools/Customize/Tools出現定製窗口
C 在Menu contents中雙擊空白攔,輸入:PCLint-Proj
D
雙擊PCLint-Proj項,在Command:中填入:lint
Arguments:中填入:-i"E:\PC.Lint.v8.00e\lnt" MyProj.lnt
Initial
Directory項:本欄填寫工程的一個源文件子目錄(保證在Arguments項中有-i"E:\PC.Lint.v8.00e\lnt")
選中"Use Output Window"
E 打開一個項目,讓焦點位於最項層目前的一個Source
Window中,點擊Tools/PCLint-Proj菜單即可
【注意】上述方法中的ls,xargs等命令位於Cygwin的目錄中,需要將路徑添加到系統的PATH中:
"我的電腦"(右擊滑鼠)->"屬性"->"高級"->"環境變數"->"系統變數"->"Path"
加入"C:\cygwin\bin"重啟生效。
ls
*.c將同時找到.c文件和.cpp文件,但是也會將非工程所需的.c文件編譯進來,需要手工把文件轉走。
另外,這種方法一次只能Lint一個目錄,每完成一個目錄就要重新設置Initial
Directory項為新的要檢查的目錄。
5.在DOS窗口中對一個目錄多個文件進行Lint
1)基於Cygwin
cd C:\MyProj\SrcA\
ls *.c |
xargs lint -i"E:\PC.Lint.v8.00e\lnt" MyProj.lnt >>
LintOutput.txt
【注意】ls *.c 也可以用DOS命令dir
*.c/B來替換,/B的意思是僅列出各文件名。>>LintOutput.txt的意思是將Lint結果輸出到
LintOutput.txt文件中。
2)無Cygwin支持
cd
C:\MyProj\SrcA\
dir *.c
/B
將所有列出的.c文件名稱復制到E:\PC.Lint.v8.00e\lnt\MyProj.lnt中,內容如下:
std.lnt/*注釋:包含的規則和/或選項文件*/
env-vc6.lnt
/*下面為各頭文件目錄,可以在字串中不要雙引號,可以有多行*/
-i"C:\MyProj\IncludeA"
-i"C:\MyProj\IncludeB"
-iC:\MyProj\IncludeC
-iC:\MyProj\IncludeD
-e641//另一種注釋//這是省略#641錯誤
a.c
//指定要Lint的文件
b.c
c.c
最後幾行指定的要Lint之文件也可以用通配符,如:
*.c
然後直接運行
lint -i"E:\PC.Lint.v8.00e\lnt" MyProj.lnt >> LintOutput.txt
轉載僅供參考,版權屬於原作者。祝你愉快,滿意請採納哦
Ⅱ 30秒一鍵清理電腦中的垃圾文件的代碼
在Windows在安裝和使用過程中都會產生相當多的垃圾文件,包括臨時文件(如:*.tmp、*._mp)日誌文件(*.log)、臨時幫助文件(*.gid)、磁碟檢查文件(*.chk)、臨時備份文件(如:*.old、*.bak)以及其他臨時文件。特別是如果一段時間不清理IE的臨時文件夾「Temporary
Internet
Files」,其中的緩存文件有時會佔用上百MB的磁碟空間。這些LJ文件不僅僅浪費了寶貴的磁碟空間,嚴重時還會使系統運行慢如蝸牛。這點相信你肯定忍受不了吧!所以應及時清理系統的LJ文件的淤塞,保持系統的「苗條」身材,輕松流暢上網!朋友來吧,現在就讓我們一起來快速清除系統垃圾吧!!
下面是步驟很簡單就兩步!
新建一個「記事本」,把下面的字復制進去,點「另存為」,把文件名定為「清除系統LJ.bat」就完成,雙擊它就能很快地清理垃圾文件,大約一分鍾不到。
@echo
off
echo
正在清除系統垃圾文件,請稍等......
del
/f
/s
/q
%systemdrive%\*.tmp
del
/f
/s
/q
%systemdrive%\*._mp
del
/f
/s
/q
%systemdrive%\*.log
del
/f
/s
/q
%systemdrive%\*.gid
del
/f
/s
/q
%systemdrive%\*.chk
del
/f
/s
/q
%systemdrive%\*.old
del
/f
/s
/q
%systemdrive%\recycled\*.*
del
/f
/s
/q
%windir%\*.bak
del
/f
/s
/q
%windir%\prefetch\*.*
rd
/s
/q
%windir%\temp
&
md
%windir%\temp
del
/f
/q
%userprofile%\cookies\*.*
del
/f
/q
%userprofile%\recent\*.*
del
/f
/s
/q
"%userprofile%\Local
Settings\Temporary
Internet
Files\*.*"
del
/f
/s
/q
"%userprofile%\Local
Settings\Temp\*.*"
del
/f
/s
/q
"%userprofile%\recent\*.*"
echo
清除系統LJ完成!
echo.
&
pause
以後只要雙擊運行該文件,當屏幕提示「清除系統LJ完成!就還你一個「苗條」的系統了!!到時候再看看你的電腦,是不是急速如飛呢?可別忘了回帖喔!
注:LJ就是垃圾的意思!這招比那些所謂的優化大師好用!不會破壞系統文件。
Ⅲ 文件系統檢查退出代碼為8 怎麼解決
開終端
sudo su
df 確認 disk3 的分區沒有被 mount,然後用 dd 給磁碟寫上500M的空白數據試試:
dd bs=1m count=500 if=/dev/zero of=/dev/disk3
若順利執行完拿銀畢,你拍攔再重新對此盤分區格式消賀宴化看看。