Ⅰ 如何使用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
若顺利执行完拿银毕,你拍拦再重新对此盘分区格式消贺宴化看看。