PClint错误码大全

合集下载

错误代码大全

错误代码大全

错误代码大全600某操作处于挂起状态。

601端口句柄无效。

602端口已打开。

603呼叫方缓冲区太小。

604指定了错误的信息。

605无法设置端口信息。

606无法连接端口。

607事件无效。

608设备不存在。

609设备类型不存在。

610缓冲区无效。

611路由不可用。

612没有分配路由。

613指定了无效的压缩。

614缓冲区溢出。

615找不到端口。

616某异步请求处于挂起状态。

617端口或设备已断开连接。

618端口尚未打开。

(处理方法:请打开在相应防火墙软件里,打开1701和1723端口,这是VPN拨号需要的端口)619端口已断开连接。

(处理方法:请注意1701和1723这2个端口是否给其它软件占用,以上2个问题中,如果你在局域网,请确认主机是否有限制(大部分网吧,公司内网的主机都有限制)620没有终结点。

621无法打开电话簿文件。

622无法加载电话簿文件。

623找不到电话簿条目。

624无法写入电话簿文件。

625在电话簿中发现无效信息。

626无法加载字符串。

627找不到密钥。

628端口已断开连接。

629端口已由远程机器断开连接。

630端口由于硬件故障已断开连接。

631端口已由用户断开连接。

632结构大小不正确。

633端口已被使用或不是为远程访问拨出配置的。

634无法在远程网络上注册您的计算机。

635未知错误。

636端口连接了错误的设备。

637无法转换字符串。

638请求已超时。

(处理方法:请尝试多连接几次)639没有可用的异步网络。

640出现NetBIOS错误。

641服务器无法分配需要用来支持客户端的NetBIOS资源。

642您的一个NetBIOS名称已在远程网络上注册。

643服务器上的网卡失败。

644您将无法接收弹出的网络信息。

645内部身份验证错误。

646不允许本帐户在此时间登录。

647帐户已禁用。

(处理方法:请到官方网站获取最新账号/密码)648密码已过期。

(处理方法:请到官方网站获取最新账号/密码)649帐户没有远程访问权限。

(完整版)PClint错误码大全(DOC)

(完整版)PClint错误码大全(DOC)

1.1.1.1.1PC-LINT中的各种错误信息都有一个相关的错误号,其中各个错误号的分配区间如下:表1:PC-LINT错误号区间分配注:其中200-299号告警为PC-LINT的内部错误,一般不会发生,1.2C语法错误1.2.1-1―未关闭注释(位置)文件结束的时候,仍然有一个未关闭的注释存在,打开的这个注释位置将被显示出来。

1.2.2 ―2―未关闭的引号在行尾的时候,仍然存在一个同行的未关闭的引号(单引号或双引号)。

1.2.3 -3-#else 没有一个#if在一个区域内有一个#else ,但是没有一个#if, #ifdef 或#ifndef。

1.2.4-4-太多的#if 嵌套层次检测出一个内部的限制,有关#if的嵌套层次(包括#ifdef和#ifndef)。

1.2.5-5-太多的#endif出现一个#endif ,但不是#if 或#ifdef 或#ifndef.的。

1.2.6-6-堆栈溢出一个内置的不可展开的堆栈被过分扩展。

可能是太多的嵌套的#if 语句、#includes 语句(包括所有的递归的#include 语句),static块(有限制的括号) 或#define置换。

1.2.7-7-不能打开include的文件:FileNameFileName 是不能打开的include文件的名字。

,可以见flag fdi (见章节5.5 标志选项),选项-i... (见章节5.7其它选项) 和章节13.2.1 INCLUDE 环境变量。

1.2.8-8-未关闭的#if (位置)一个#if (或#ifdef 或#ifndef) 没有遇到相应的#endif。

位置是#if.的位置1.2.9 -9-太多的#else在#if (位置)一个给定的#if 包含一个#else,然后轮流流被紧跟另一个#else 或一个#elif。

错误消息给出#if语句条件包含异常的行号1.2.10-10-期望的字符串字符串是期望的记号,期望的记号不能被发现。

Windows错误代码解释大全

Windows错误代码解释大全

遇到什么错误了就找找,应该会有帮助的。

6001 0x1771 指定的文件无法解密。

6002 0x1772 指定的文件已加密,而且用户没有能力解密。

6003 0x1773 这个系统没有有效的加密恢复策略配置。

6004 0x1774 所需的加密驱动程序并未加载到系统中。

6005 0x1775 文件加密所使用的加密驱动程序与目前加载的加密驱动程序不同。

6006 0x1776 没有为用户定义EFS 关键字。

6007 0x1777 指定的文件并未加密。

6008 0x1778 指定的文件不是定义的EFS 导出格式。

6009 0x1779 指定的文件是只读文件。

6010 0x177A 已为加密而停用目录。

6011 0x177B 不信任服务器来进行远程加密操作。

6012 0x177C 为此系统配置的恢复策略包含无效恢复证书。

6013 0x177D 用在此源文件上的加密算法需要比目标文件上更大的密钥缓冲区。

6014 0x177E 磁盘分区不支持文件加密。

6015 0x177F 这台机器已为文件加密而停用。

6016 0x1780 需要一个更新的系统来解密此加密文件。

6118 0x17E6 此工作组的服务器列表当前无法使用6200 0x1838 要正常运行,任务计划程序服务的配置必须在系统帐户中运行。

单独的任务可以被配置成在其他帐户中运行。

6600 0x19C8 日志服务遇到无效日志扇区。

6601 0x19C9 日志服务遇到块校验无效的日志扇区。

6602 0x19CA 日志服务遇到重映射的日志扇区。

6603 0x19CB 日志服务遇到部分或未完成的日志块。

6604 0x19CC 日志服务遇到错误,原因:试图访问活动日志范围外的数据。

6605 0x19CD 日志服务用户排列缓冲区已用尽。

6606 0x19CE 日志服务遇到错误,原因:试图从读取上下文无效的排列区读取。

6607 0x19CF 日志服务遇到无效日志重新启动区域。

用PCLint检查PIC32的C代码错误

用PCLint检查PIC32的C代码错误

1. 引言C语言在嵌入式领域应用非常广泛,其主要优点是灵活和高效,但若在使用过程中不加以规范,容易引入各种潜在的代码问题。

先来看一段C代码,这段代码中有多少C语言的使用错误?uint8_t vFunc(void){uint8_t index = 0;for (index = 0; index {if (index == 3){vFunc_1(&index);return true;}}}比较容易发现的问题有:●for循环结束后没有返回值不太容易发现的问题有:●index初值没有使用●index值可能在vFunc_2()内被清零,使得循环一直被执行为了在编码阶段找出这些问题,常用的分析方法有静态代码分析和动态代码分析。

有研究表明,使用动态代码分析找到的问题中的95%都可以用静态代码分析找到。

中小型嵌入式软件项目一般使用静态代码分析工具作为主要分析手段,其中最常见的工具是PClint。

PCLint是GIMPEL SOFTWARE 公司研发的C/C 软件代码静态分析工具,支持几乎所有流行的编辑环境和编译器。

PC-lint不但可以检测单个文件,也可以从整个项目的角度来检测问题。

支持Scott Meyes的名著(Effective C /More Effective C )中说描述的各种提高效率和防止错误的方法。

在我们的项目中,使用C语言作为PIC32单片机的编程语言,开发环境是MPLABX,代码查看工具是source insight。

本文的主要内容就是如何将PCLint 工具集成到上述两种工具中。

集成完成后,可通过快捷键调用lint工具,对目标代码进行静态分析,再根据分析结果优化代码。

2. 配置PCLint2.1. 安装PCLint下载PCLint并安装:升级到最新版本:,下载下列文件:●复制升级包和lpatch到安装路径(C:\lint)●按住shift 右键,打开快捷菜单,选择“在此处打开命令窗口”●输入命令并执行:lpatch l9-a-b.lp, …, 依次类推直到l9-K-L.lp(每次输入一条执行)●输入命令lint-nt -v,完成上述步骤后,显示当前版本是9.00L2.2. 下载xc32编译器共用的文件打开,下载Compiler Options files:●co-cci.lnt●co-xc32.lnt将上述文件存放在lint安装路径下的lnt文件夹中(c:\lint\lnt)。

PCLint培训手册

PCLint培训手册

PC-Lint简介PC-Lint是C/C++软件代码静态分析工具,它对程序进行全局分析,识别并报告C语言中的编程陷阱和格式缺陷。

它不仅可以检查出一般的语法错误,还可以检查出那些虽然符合语法要求但不易发现的潜在错误。

使用PC-Lint在代码走读和单元测试之前进行检查,可以提前发现程序隐藏错误,提高代码质量,节省测试时间。

官方网站:PC-Lint/第三方工具:Visual Lint/products/visual_lint/index.htmlLintProject/products/lintproject/index.html安装安装后的目录Lint 目录下的文件:lint-nt.exe PC-lint 执行程序config.exe PC-lint 配置程序readme.txt 帮助手册的补充信息pc-lint.pdf 帮助手册pr.exe 打印工具.msg.txt PC-lint 的错误提示消息列表,最终根据它来修改代码unwise.exe 卸载程序install.log 安装日志_LINT.TMP 保存PC-lint 检查代码后输出的错误信息,可用”记事本”打开Lnt\ ... 文件夹co-....lnt 特定编译器的配置选项co.lnt 通用编译器的配置选项sl-....c 非ANSI 编译器的标准库模块sl.c 非ANSI 编译器的通用标准库模块env-....lnt 各种编辑环境如Microsoft's Visual Studio 的配置文件lib-....lnt 特定库的配置文件au-....lnt 作者推荐检查项的配置文件,指Scott Meyers 的EffectiveC++,More Effective C++,Misra,Dan Saks 的C++ GotchasTest\... 测试代码目录配置CONFIG.exe配置向导将创建一个lin.bat文件,可用于检查C/C++文件,使用方法:lin options file1 file2 …LSET.BAT文件可用于设置PA THlin.bat的内容:InstDir\lint-nt -i ConfDir std.lnt &1 &2 ...总体而言,配置向导将产生以下文件:LIN.BATA batch file which can also be copied into your PATH and which contains a reference toSTD.LNT.STD.LNT An indirect lint file that will "point to" a compiler options file and an options file and optionally other files and options.STD_...LNTA sequence of different versions of STD.LNT that the wizard can choose from later.OPTIONS.LNTA convenient centrally located options file that you will tend to use for most of your linting.LSET.BATA batch file optionally generated to be used to place the PC-lint executable in your PATH.配置向导还将从安装目录拷贝以下文件到配置目录:co-....lnt Compiler options file(s)env-....lnt Environment options fileslib-....lnt Library options fileslib-....h Headers referenced by lib-....lnt files.au-....lnt Options files for author recommended checksfile?.cpp A pair of test programs described in the next section.运行测试程序lin filea fileb将对filea和fileb进行代码检测:filea.cpp://lint -w2 reduce the warning level to 2class X{static int a;};fileb.cpp:class X{int a;};运行结果:PC-lint for C/C++ (NT) Vers. 8.00, Copyright ...--- Module: filea.cpp--- Module: fileb.cpp_};fileb.cpp 4 Warning 631: tag X defined differently at line 3, file filea.cpp--- Global Wrap-upWarning 1527: static member X::a (line 5, file filea.cpp) not defined批量运行:lint test1.lnt使用PC-Lint检查程序代码把lin.bat加入环境变量PA TH中,方便使用假设程序包含以下几个文件:alpha.cppbeta.cgamma.c我们可以这样检查:lin alpha.cpp beta.c gamma.c使用-u选项进行单独模块的单元检查(Unit checkout):lin –u alpha.cpp这种检查方式会抑制某些检查项,例如“function not used”用+fcp标识C++模块:lin +fcp a1.c a2.c a3.c -fcp a4.c a5.cpp上述命令会把a1.c、a2.c、a3.c当成C++模块处理,a4.c作为C模块,a5.cpp作为C++模块。

系统Code_error对照表

系统Code_error对照表

网上找的,号称全集,但至少是比较多的了。

和大家分享一下,方便大家查找。

(一)0 0x0000 作业完成。

10x0001 不正确的函数。

20x0002 系统找不到指定的档案。

30x0003 系统找不到指定的路径。

40x0004 系统无法开启档案。

50x0005 拒绝存取。

60x0006 无效的代码。

70x0007 储存体控制区块已毁。

80x0008 储存体空间不足,无法处理这个指令。

90x0009 储存体控制区块位址无效。

100x000A 环境不正确。

110x000B 尝试载入一个格式错误的程式。

120x000C 存取码错误。

130x000D 资料错误。

140x000E 储存体空间不够,无法完成这项作业。

150x000F 系统找不到指定的磁碟机。

160x0010 无法移除目录。

170x0011 系统无法将档案移到其他的磁碟机。

180x0012 没有任何档案。

190x0013 储存媒体为防写状态。

200x0014 系统找不到指定的装置。

210x0015 装置尚未就绪。

220x0016 装置无法识别指令。

230x0017 资料错误 (cyclic redundancy check) 24 0x0018 程式发出一个长度错误的指令。

250x0019 磁碟机在磁碟找不到持定的磁区或磁轨。

260x001A 指定的磁碟或磁片无法存取。

270x001B 磁碟机找不到要求的磁区。

280x001C 印表机没有纸。

290x001D 系统无法将资料写入指定的磁碟机。

300x001E 系统无法读取指定的装置。

310x001F 连接到系统的某个装置没有作用。

320x0020 The process cannot access the file because it is being used by another process.330x0021 档案的一部份被锁定,现在无法存取。

340x0022 磁碟机的磁片不正确。

请将 %2 (Volume Serial Number: %3) 插入磁碟机 %1。

PClintError

PClintError

PClintError1. c:\\lint\\std.lnt(6) : Error 307: Can't open indirect file 'lib-w32.lnt'原 std.lnt:// Microsoft Visual C++ 2021, -si4 -sp4, lib-w32.lnt // Standard lint optionsc:\\lint\\co-msc80.lnt lib-w32.lntoptions.lnt -si4 -sp4-i\//-i\//-i\//-i\修改后:// Microsoft Visual C++ 2021, -si4 -sp4, lib-w32.lnt // Standard lint optionsc:\\lint\\co-msc80.lnt c:\\lint\\lib-w32.lntc:\\lint\\options.lnt -si4 -sp4-i\//-i\//-i\//-i\2. error 322: (Error -- Unable to open include file 'co-msc80.h') ? 打开c:\\lint\\co-msc80.lnt ? 找到-header(co-msc80.h)? 改为绝对路径-header(c:\\lint\\co-msc80.h)3.使用PC-Lint时可能会遇到很多库的头文件的错误,特别是在VS中。

这时可以通过设置PC-LINT.exe的参数屏蔽库文件的错误。

一般为PC-LINT.exe -wlib(x) -wlib(0) 不生成任何库信息-wlib(1) 只生成错误信息(当处理库的源代码时) -wlib(2) 生成错误和告警信息-wlib(3) 生成错误、告警和其它信息(这是默认设置) -wlib(4) 产生所有信息另外,如果你测试时不想看一下info类的信息,可以在命令中增加-wx来屏蔽不需要显示的信息:-w0 不产生信息(除了遇到致命的错误)-w1 只生成错误信息 -- 没有告警信息和其它提示信息 -w2 只有错误和告警信息-w3 生成错误、告警和其它提示信息(这是默认设置) -w4 生成所有信息一般情况下我先使用-w1再用-w2,最后用-w3感谢您的阅读,祝您生活愉快。

PClint常见告警整理_20150710

PClint常见告警整理_20150710

无法执行到的语句 Unreachable code at token Name -- A portion of the program cannot be reached. The first token encountered in that portion of the program appears as the parameter in the message. Because the parameter is designated as Name the message may be suppressed for selected tokens. 变量未被引用 Symbol 'Symbol' (Location) not referenced -- The named static variable or static function was not referenced in the module after having been declared.
for循环的第三个表达式 Highest String ’Name’ lacks side-effects -- The third expression of a for clause should either be one of the privileged operators: assignment, increment,decrement or a call to an impure function or one modifying its argument(s). See Warning 522.
指针自加 Highest String ’Name’ lacks side-effects -- If a statement consists only of an expression, it should either be one of the privileged operators: assignment, increment, decrement or a call to an impure function or one modifying its argument(s). For example, if operator * is the built-in operator, the statement *p++; draws this message with String equal to operator and Name equal to *. But note that p++; does not. This is because the highest operator in the former case is '*' which has no side effects whereas p++ does. It is possible for a function to have no side-effects. Such a function is called pure. See the discussion of the pure semantic in Section 11.2.1. For example: void f() { int n = 3; n++; } void g() { f(); } will trigger this message with String in the message equal to function and Name equal to f.The definition of pure and impure functions and function calls which have side effects are given in the discussion of the pure semantic in Chapter 11 Semantics.

电脑错误码对照表,值得收藏...

电脑错误码对照表,值得收藏...

电脑错误码对照表,值得收藏...电脑错误码对照表,值得收藏原作地址:0x800C013E 可能是 Folders.dbx 档案属性错误或损坏.0x800CCC00 身份验证(Authentication)未载入0x800CCC01 认证(Certificate)内容错误0x800CCC02 认证日期错误0x800CCC03 使用者已联机0x800CCC05 未联机到服务器0x800CCC0A 邮线下载未完成0x800CCC0B 服务器忙碌中0x800CCC0D 找不到主机(检查你的SMTP服务器是不是设错)0x800CCC0E 联机到服务器失败,无法与主机建立联机。

等一段时间再试。

ping 等网络命令测试一下看看能否连的通服务器0x800CCC0F 服务器结束联机(对方服务器负荷过重、网络传输壅塞易造成此现象,可以试着增加你联机逾时的等候时间试试看,或是换一联机品质较佳的 ISP)0x800CCC10 服务器无法辨认此邮件地址0x800CCC11 服务器无法辨认的 Mailing list0x800CCC12 无法传送 Winsock request0x800CCC13 无法接收 Winsock reply0x800CCC14 无法起始 Winsock0x800CCC15 无法开启 Windows Socket0x800CCC16 无法辨认使用者账号,使用者账号错误0x800CCC17 使用者中断操作0x800CCC18 登入失败(例如:不需要安全密码认证登入,但却设了安全密码认证登入)0x800CCC19 作业逾时0x800CCC1A 无法以 SSL 建立联机Winsock 错误0x800CCC40 Network subsystem 无法使用0x800CCC41 Windows Sockets 不支持此应用程序0x800CCC43 Bad address.0x800CCC44 Windows Sockets 无法加载0x800CCC45 Operation now in progress..SMTP 错误0x800CCC60 不合法的回应0x800CCC61 不明的错误代码0x800CCC62 收到语法错误0x800CCC63 语法参数不正确0x800CCC64 指令不完整0x800CCC65 不正确的指令序列0x800CCC66 指令不完整0x800CCC67 没有这个指令0x800CCC68 邮件信箱被锁住或忙碌中0x800CCC69 找不到邮件信箱0x800CCC6A 处理要求错误0x800CCC6B 邮件信箱不在此服务器上0x800CCC6C 已无空间储存邮件0x800CCC6D 已超过限制的储存容量上限0x800CCC6E 不合法的邮件信箱名称0x800CCC6F Transaction error,出现这讯息,可能是服务器不接受你的邮件,请跟你的 ISP 联络。

计算机错误代码大全

计算机错误代码大全

计算机错误代码大全8376 只在 NC 头上支持子目录树通知。

8377 通知筛选器太复杂。

8378 架构更新失败: 重复的 RDN。

8379 架构更新失败: 重复的 OID。

8380 架构更新失败: 重复的 MAPI 识别符。

8381 架构更新失败: 复制架构 id GUID。

8382 架构更新失败: 重复的 LDAP 显示名称。

8383 架构更新失败: 范围下部少于范围上部。

8384 架构更新失败: 语法不匹配。

8385 架构更新失败: 属性在必须包含中使用。

8386 架构更新失败: 属性在可能包含中使用。

8387 架构更新失败: 可能包含中的属性不存在。

8388 架构更新失败:必须包含中的属性不存在。

8389 架构更新失败: 在辅助类别列表中的类别不存在或不是一个辅助类别。

8390 架构更新失败: poss-superior 中的类别不存在。

8391 架构更新失败: 在 subclassof 列表中的类别不存在或不能满足等级规则。

8392 架构更新失败: Rdn-Att-Id 语法不对。

8393 架构更新失败: 类别作为辅助类别使用。

8394 架构更新失败: 类别作为子类别使用。

8395 架构更新失败: 类别作为 poss superior 使用。

8396 架构更新在重新计算验证缓存时失败。

8397 目录树删除没有完成。

要继续删除目录树,必须再次发出请求。

8398 不能执行请求的删除操作。

8399 不能读取架构记录管理类别识别符。

8400 属性架构语法不对。

8401 不能缓存属性。

8402 不能缓存类别。

8403 不能从缓存删除属性。

8404 无法从缓存中删除类别。

8405 无法读取特殊名称的属性。

8406 丢失一个所需的子参考。

8407 不能检索范例种类属性。

8408 出现一个内部错误。

8409 出现一个数据错误。

8410 丢失一个属性 GOVERNSID。

8411 丢失一个所需要的属性。

错误代码大全

错误代码大全

错误代码大全系统蓝屏70%是由于内存引起的一般来说你先系统重新装一遍要是用了一段时间还是出现这样的问题建议换根内存试试。

windows xp 出现蓝屏是,往往会给处一串代码,让人莫名其妙,这里给出代码集合,仅供参考。

1 0×00000001 不正确的函数。

2 0×00000002 系统找不到指定的档案。

3 0×00000003 系统找不到指定的路径。

4 0×00000004 系统无法开启档案。

5 0×00000005 拒绝存取。

6 0×00000006 无效的代码。

7 0×00000007 储存体控制区块已毁。

8 0×00000008 储存体空间不足,无法处理这个指令。

9 0×00000009 储存体控制区块地址无效。

10 0×0000000A 环境不正确。

11 0×0000000B 尝试加载一个格式错误的程序。

12 0×0000000C 存取码错误。

13 0×0000000D 资料错误。

14 0×0000000E 储存体空间不够,无法完成这项作业。

15 0×0000000F 系统找不到指定的磁盘驱动器。

16 0×00000010 无法移除目录。

16 0×00000010 无法移除目录。

17 0×00000011 系统无法将档案移到其它的磁盘驱动器。

18 0×00000012 没有任何档案。

19 0×00000013 储存媒体为写保护状态。

20 0×00000014 系统找不到指定的装置。

21 0×00000015 装置尚未就绪。

22 0×00000016 装置无法识别指令。

23 0×00000017 资料错误(循环冗余校验)24 0×00000018 程序发出一个长度错误的指令。

最新PClint错误码大全

最新PClint错误码大全
1.2.28
给出的在以前(Location)声明的冒号前的标识符不是一个label.
1.2.29
期望一个常量,但是没有得到。可能是在case关键字后,数组维数、bit field长度、枚举指、#if表达式等等.
1.2.30
数据对象或函数在此模块中以前定义过又被定义。
1.2.31
给出的field的长度是非正(0或负数).
1.2.63
T在分配中有类型不匹配(或隐含分配,见Context)。TypeDiff确定类型的区别.当分配一些种类的指针时用选项-epn, -eps, -epu, -epp(章节5.2错误禁止选项)来抑制这个消息.
1.2.64
在一个(.)或(->)操作符后,一个成员名称应该出现.
1.2.65
用一个不允许的void类型。如果一个void类型放置在一个原型内,那么它必须只能是原型内的仅有类型。(参考错误号49.)
1.2.84
一个数组被声明在上下文中没有一个维数,需要一个非零的维数。
1.2.85
尽管在C++中合法,但是在C中却是非法的。
1.2.86
在C的规则中,应该有一个单独的标识符紧跟#ifdef或#ifndef。你可以提供一个有效的结构化的C (或C++)注释。
1.2.87
一个数组被声明(在一个C模块中)为它的元素每个都是0长度,尽管在C++中是合法的名单在世C中是不允许的。
1.2.53
常量0w被用于除操作符(/)或取余操作符的右手边。
1.2.54
上下文需要一个标量、函数或结构(除非-fsa).
1.2.55
需要标量类型和指针的加/减操作符可能被加到指针中。
1.2.56
Bit操作符(&,|和^)需要require整型参数.

代码走查工具—PCLint

代码走查工具—PCLint
每个配置文件里都可以包含配置选项,这些配置选项也可以 放在命令行中,一般为使用方便,命令行中不要放很多选项, 尽量都将选项放到配置文件中
8
PC-Lint基本使用方法
以下是VC下的配置文件样例
// Microtec 32-bit, -si4 -sp4, lib-w32.lnt // Standard lint options
3
PC-Lint基本使用方法
PC-Lint8.0主要由以下一些文件组成:
Lint-nt.exe Windows下的执行文件 Msg.txt 全部选项帮助说明文件 PC-Lint.pdf PC-Lint的帮助文件 Config.exe 配置程序 Std.lnt 标准配置文件 Options.lnt选项配置文件 .\Lnt子目录下的各种开发编译环境的配置文件 其他一些文件
录 再在Arguments:一栏里填上
-u -iC:\Lint std.lnt $() 这里$()表示VC窗口里当前打开的文件名 你也可以将它改成$()\*.cpp表示检查当前打开文件同一目录下的所 有.cpp文件,通常用于检查一个模块 还可以改成AllSource.lnt, 象前面讲过的一样,AllSource.lnt是一个放 置有所有文件的配置文件,这时要将-u去掉。
9
PC-Lint基本使用方法
一般来说,PC-Lint经常会有一些误报,为 了消除这些误报,不得不将程序风格改动 来规避,但有时候怎么改写程序都有告警, 比如说你定义了两个宏,前面那个宏里有 一半大括号{, 后面那个宏里有另一半大括 号}, 这时候一定会有告警,你不得不使用一 些PC-Lint选项来屏蔽这些告警。Leabharlann 17PC-Lint常用选项
其他一些常用选项还有

计算机错误码

计算机错误码

、停止错误编号:0x0000000A说明文字:IRQL-NOT-LESS-OR-EQUAL通常的原因:驱动程序使用了不正确的内存地址。

解决方法:如果无法登陆,则重新启动计算机。

当出现可用的作系统列表时,按F8键。

在Windows高级选项菜单屏幕上,选择"最后一次正确的配置",然后按回车键。

检查是否正确安装了所有的新硬件或软件。

如果这是一次全新安装,请与硬件或软件的制造商联系,获得可能需要的任何Windows更新或驱动程序。

运行由计算机制造商提供的所有的系统诊断软件,尤其是内存检查。

禁用或卸掉新近安装的硬件(RAM,适配器,硬盘,调制解调器等等),驱动程序或软件。

确保硬件设备驱动程序和系统BIOS都是最新的版本。

确保制造商可帮助你是否具有最新版本,也可帮助你获得这些硬件。

禁用BIOS内存选项,例如cache或shadow。

2、停止错误编号:0x0000001E说明文字:KMODE-EXPTION-NOT-HANDLED通常的原因:内核模式进程试图执行一个非法或未知的处理器指令。

解决方法:确保有足够的空间,尤其是在执行一次新安装的时候。

如果停止错误消息指出了某个特定的驱动程序,那么禁用他。

如果无法启动计算机,应试着用安全模式启动,以便删除或禁用该驱动程序。

如果有非Microsoft支持的视频驱动程序,尽量切换到标准的VGA驱动程序或Windows提供的适当驱动程序。

禁用所有新近安装的驱动程序。

确保有最新版本的系统BIOS。

硬件制造商可帮助确定你是否具有最新版本,也可以帮助你获得他。

禁用BIOS内存选项,例如cache,shadow。

3、停止错误编号:0x00000023或0x00000024说明文字:FAT-FILE-SYSTEM或MTFS-FILE-SYSTEM通常原因:问题出现在Ntfs.sys(允许系统读写NTFS驱动器的驱动程序文件)内。

解决方法:运行由计算机制造商提供的系统诊断软件,尤其是硬件诊断软件。

PCLINT告警分析及解决方案(C++部分)

PCLINT告警分析及解决方案(C++部分)

文档密级
2013-8-7
华为机密,未经许可1950.xls 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1077 1078 1079 1080 模板参数错误 类函数名和成员变量名称一样 模板参数类型没有定义,假定是class 函数参数不同,但是辨别困难 模板变量类型没有定义 Symbol没有定义 void*不能等于其他类型指针 成员变量使用缺乏对象实例 非const引用初始化非左值 类型转换错误:初始化引用类型不一致 没有权限:试图获取private和protected 成员 没有权限:试图获取private和 protected,public成员 模板参数必须是类,函数 拷贝构造函数参数(同类型)必须是引 用,否则递归死循环 模板参数不一致 不同模板的extern "C" 不一致 不同模板的extern "C" 不一致 函数原型错误 delete, delete [] 不能重载 构造函数初始化列表错误 不是合法范围 构造函数和析构函数不能返回类型 引用变量没有初始化:引用变量必须在声 明点初始化 模板参数不够 期望是名字空间标志 两个名字空间包含同样的名称 不能求模板缺省参数的值 类不能集成本身 没有发现模板参数终止'>' or ',' 类没有定义
第4页,共4页
文档密级
2013-8-7
华为机密,未经许可不得扩散
第2页,共4页
182641950.xls 例子 备注
文档密级
void f(int i=0, int j, int k=0);

电脑错误码对照表值得收藏!

电脑错误码对照表值得收藏!

电脑错误码对照表值得收藏!0x800C013E 可能是 Folders.dbx 檔案屬性錯誤或損壞.0x800CCC00 身份驗證(Authentication)未載入0x800CCC01 認證(Certificate)內容錯誤0x800CCC02 認證日期錯誤0x800CCC03 使用者已聯機0x800CCC05 未聯機到伺服器0x800CCC0A 郵線下載未完成0x800CCC0B 伺服器忙碌中0x800CCC0D 找不到主機(檢查你的SMTP伺服器是不是設錯)0x800CCC0E 聯機到伺服器失敗,無法與主機建立聯機。

等一段時間再試。

ping 等網路命令測試一下看看能否連的通伺服器0x800CCC0F 伺服器結束聯機(對方伺服器負荷過重、網路傳輸壅塞易造成此現象,可以試著增加你聯機逾時的等候時間試試看,或是換一聯機品質較佳的 ISP)0x800CCC10 伺服器無法辨認此郵件地址0x800CCC11 伺服器無法辨認的 Mailing list0x800CCC12 無法傳送 Winsock request0x800CCC13 無法接收 Winsock reply0x800CCC14 無法起始 Winsock0x800CCC15 無法開啟 Windows Socket0x800CCC16 無法辨認使用者帳號,使用者帳號錯誤0x800CCC17 使用者中斷操作0x800CCC18 登入失敗(例如:不需要安全密碼認證登入,但卻設了安全密碼認證登入)0x800CCC19 作業逾時0x800CCC1A 無法以 SSL 建立聯機Winsock 錯誤0x800CCC40 Network subsystem 無法使用0x800CCC41 Windows Sockets 不支持此應用程式0x800CCC43 Bad address.0x800CCC44 Windows Sockets 無法加載0x800CCC45 Operation now in progress..SMTP 錯誤0x800CCC60 不合法的回應0x800CCC61 不明的錯誤代碼0x800CCC62 收到語法錯誤0x800CCC63 語法參數不正確0x800CCC64 指令不完整0x800CCC65 不正確的指令序列0x800CCC66 指令不完整0x800CCC67 沒有這個指令0x800CCC68 郵件信箱被鎖住或忙碌中0x800CCC69 找不到郵件信箱0x800CCC6A 處理要求錯誤0x800CCC6B 郵件信箱不在此伺服器上0x800CCC6C 已無空間儲存郵件0x800CCC6D 已超過限制的儲存容量上限0x800CCC6E 不合法的郵件信箱名稱0x800CCC6F Transaction error,出現這訊息,可能是伺服器不接受你的郵件,請跟你的 ISP 聯絡。

常见错误代码

常见错误代码

常见错误代码常见错误代码大全汇总很多用户在使用电脑时,发现经常出现代码错误,但是都不知道是怎么一回事,今天,小编就来跟大家分享常见错误代码大全。

常见错误代码大全4xx: Client Error 使用者端(浏览器)错误讯息400 Bad Request 错误的要求401 Unauthorized 未授权的动作401.1 登入失败401.2 因服务器设定问题造成登入失败401.3 由于来源的 ACL 问题而未授权401.4 筛选器授权失败401.5 ISAPI/CGI 应用程序授权失败403 Forbidden 禁止的动作403.1 禁止执行存取403.2 禁止读取存取403.3 禁止写入存取403.4 需要 SSL403.5 需要 SSL 128 位加密403.6 IP 地址被拒绝403.7 需要客户端凭证403.8 拒绝存取站台403.9 太多的使用者403.10 无效的'设定403.11 密码变更403.12 对应程序拒绝存取403.13 客户端凭证已撤销403.14 目录清单被拒绝403.15 超过客户端存取授权数403.16 客户端凭证不被信任或者无效403.17 客户端凭证已经过期或者无效404 Not Found 找不到405 Method Not Allowed 系统不允许此方法406 Not Acceptable 无法接受407 Proxy Authentication Required 需要 Proxy 验证408 Request Timeout 要求的动作超过服务器的等待时间409 Conflict 冲突412 Precondition Failed 先决条件失败413 Request Entity Too Large 要求的实体太大414 Request-url Too Long 要求的 URL 太长5xx: Server Error 服务器端错误讯息500 Internal Server Error 内部服务器错误500.12 应用程序正在重新启动500.13 服务器太忙碌500.15 不允许 Global.asa 的要求500-100.asp ASP 错误501 Not Implemented 未执行502 Bad Gateway 不正确的网关。

pc_lint经验

pc_lint经验

告警信息;编号 700-899 中出现的信息,产生错误的可能性相比告警信息来说
级别要低,但仍然可能是因为代码问题导致的问题。编号 900-999 是可选信息,
他们不会被默认检查,除非你在选项中指定检查他们。
PC-Lint/FelexLint 提供了和许多编译器类似的告警级别设置选项
-wLevel,它的告警级别分为以下几个级别,缺省告警级别为 3 级:
//lint option1 option2 ... optional commentary
选项仅为一行(适
用于 C++)
选项间要以空格分开,lint 命令一定要小写,并且紧跟在/*或//后面,不能有空
格。如果选项由类似于操作符和操作数的部分组成,例如-esym(534, printf,
scanf, operator new),其中最后一个选项是 operator new,那么在 operator
-wLevel 相同的告警级别,缺省告警级别为 3 级:
-wlib(0) 不生成任何库信息
-wlib(1) 只生成错误信息(当处理库的源代码时)
-wlib(2) 生成错误和告警信息
-wlib(3) 生成错误、告警和其它信息(这是默认设置)
-wlib(4) 产生所有信息
PC-Lint 的检查分很多种类,有强类型检查、变量值跟踪、语义信息、赋值

类型数据向 BITS 类型数据赋值的代码发出告警,但 些选项
是忽略变量初始化时的此类赋值。
字符的
顺序对
当把强类型的变量赋指给其他变量的时候进行类型 功能没
X
检查。弱化参数 i, r, p, a, c, z 同样适用于 X 并 有影
起相同的作用。

PC-Lint使用报告

PC-Lint使用报告

1.安装PC-Lint安装和PC-Lint在Keil中配置见《使用教程》2.配置.lnt文件Keil安装路径\ARM\BIN\CO-RV.LNT添加:-w4 //生成所有信息-os(D:\result.txt) //输出结果到文件result.txt3.PC-Lint代码检查功能PC-Lint能够检查出很多语法错误和语法上正确的逻辑错误,PC-Lint为大部分错误消息都分配了一个错误号,编号小于1000的错误号是分配给C 语言的,编号大于1000的错误号则表1以C语言为例:编号1-199指的是一般编译器也会产生的语法错误;编号200-299是PC-Lint程序内部的错误,这类错误不会出现在代码中的;编号300-399指的是由于内存限制等导致的系统致命错误;编号400-999中出现的提示信息,是根据隐藏代码问题的可能性进行分类的,指的是被检查代码中很可能存在问题而产生的告警信息;编号700-899中出现的信息,产生错误的可能性相比告警信息来说级别要低,但仍然可能是因为代码问题导致的问题;编号900-999是可选信息,他们不会被默认检查,除非你在选项中指定检查他们。

PC-Lint告警级别分为以下几个级别,缺省告警级别为3级:-w0 不产生信息(除了遇到致命的错误)-w1 只生成错误信息-- 没有告警信息和其它提示信息-w2 只有错误和告警信息-w3 生成错误、告警和其它提示信息(这是默认设置)-w4 生成所有信息4.FCA温度校准程序4.1FCA温度校准程序PC-Lint配置文件《CO-RV.LNT》CO-RV.LNT4.2FCA温度校准程序Lint输出结果《FCA_TempCalibration_result.txt》FCA_TempCalibration_result.txt4.3输出结果统计见表2、3、4,有6种语法、36种告警和41种消息错误常见错误如,40:变量未声明;91:行字符数超过600;506:固定的布尔值;525:缩排格式错误;527:无法执行到的语句;534:忽略函数返回值;616:在switch语句中未使用break;715:变量未引用;722:语句结束符“;”用在for()或者while()后面;734:赋值过程中精度丢失;表2表3表45.舵机程序5.1舵机程序PC-Lint配置文件《co-iar80.lnt》co-iar80.lnt5.2舵机程序Lint输出结果《STM8_SERVO_result.txt》STM8_SERVO_result.txt5.3输出结果见表5、6、7,有16种语法、10种告警和23种消息错误表5表6表76.对比分析6.1语法错误对比对比表2和表5,错误类型10、14和40在两个程序都有出现。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.2.48
在原型内只有类型被允许。原型是圆括号内有一系列的类型的函数声明.处理器是在它检测到至少圆括号内的一个类型时,期望更多的类型或关闭的右圆括号.
1.2.49
1.2.4
检测出一个内部的限制,有关#if的嵌套层次(包括#ifdef和#ifndef)。
1.2.5
出现一个#endif,但不是#if或#ifdef或#ifndef.的。
1.2.6
一个内置的不可展开的堆栈被过分扩展。可能是太多的嵌套的#if语句、#includes语句(包括所有的递归的#include语句),static块(有限制的括号)或#define置换。
注:其中200-299号告警为PC-LINT的内部错误,一般不会发生,
1.2
1.2.1
文件结束的时候,仍然有一个未关闭的注释存在,打开的这个注释位置将被显示出来。
1.2.2
在行尾的时候,仍然存在一个同行的未关闭的引号(单引号或双引号)。
1.2.3
在一个区域内有一个#else,但是没有一个#if, #ifdef或#ifndef。
1.2.14
符号被定义第二次。提供出以前定义的位置,如果这是一个暂定的定义(没有初始化),这个消息可以用+fmdflag抑制。(章节5.5Flag选项).
1.2.15
符号被以前声明过或在其它模块定义过(其它位置)的类型和在当前位置的声明的类型不同。参数TypeDiffr提供了类型怎么不同的进一步信息(见章节17.信息).
一个给定的#if包含一个#else,然后轮流流被紧跟另一个#else或一个#elif。错误消息给出#if语句条件包含异常的行号
1.2.10
字符串是期望的记号,期望的记号不能被发现。当一定的保留字没有被认出时,给出这条消息,例如:
int __interrupt f();
将收到一个Expecting ';'message at thef,因为它认为你想声明__interrupt。改正的方法是建立一个新的保留字使用+rw(__interrupt)。同样,保证使用正确的编译器选项文件。见章节15.10奇怪的编译器.
1.2.38
struct或union被重新定义.
1.2.39
在表达式内,一个标识符在以前没有被声明并且没有紧跟一个左括号.Name是标识符的名称.
1.2.40
一个宏或函数的参数被重新定义.
1.2.41
1.2.42
在一个实例的上下文中发现虚类型例如void类型.
1.2.43
在一个switch外出现case或default语句.
1.2.28
给出的在以前(Location)声明的冒号前的标识符不是一个label.
1.2.29
期望一个常量,但是没有得到。可能是在case关键字后,数组维数、bit field长度、枚举指、#if表达式等等.
1.2.30
数据对象或函数在此模块中以前定义过又被定义。
1.2.31
给出的field的长度是非正(0或负数).
1.2.7
FileName是不能打开的include文件的名字。,可以见flagfdi(见章节5.5标志选项),选项-i... (见章节5.7其它选项)和章节13.2.1INCLUDE环境变量。
1.2.8
一个#if(或#ifdef或#ifndef)没有遇到相应的#endif。位置是#if.的位置
1.2.9
1.2.32
当一个8进制的常量包含数字8或9时,这是一个错误的形式。
1.2.33
-在一个static数据项中发现非常量初始化.
1.2.34
在一个static数据项中发现有副作用的初始化.
1.2.35
对象的存储类被改变.
1.2.36
枚举值不一致.
1.2.37
很多类或结构比早期的声明出现在不同的位置(从结构开始的偏移量).可能因为数组维数从一个模块到另一个模块的改变.
1.2.16
一个#指示符后没有跟着一个可认识的单词。如果这不是错误使用+ppw选项(章节5.7其它选项).
1.2.17
A non-parameter is being declared where only parameters should be.
1.2.18
一个符号被重新声明。参数TypeDiff提供类型不同的进一步信息(见Chapter 17.信息)。位置是先前定义的位置。
1.2.44
一个变量被声明为register,但是它的类型不应该是register(例如一个函数).
1.2.45
在结构中位域应该是类型为unsigned或int.如果你的编译器允许其它类型,例如char,那么抑制这条信息.
2.46
一元减需要一个算术操作数.
1.2.47
一元的*或左手边的指针(->)操作符需要一个指针操作数o.
1.2.11
在#includel行确定的文件名的长度超过了FILENAME_MAX字符。
1.2.12
-在一个#includeI被检测出来后和宏置换被执行后,期望一个文件的规范格式<filename>或"filename"
1.2.13
类型形容词例如long、unsigned等等。不能应用到紧跟的类型。
1.2.23
-碰到一个?操作符,o但是没有紧跟一个期望的:操作符。
1.2.24
发现一个在一个表达式开始的操作符,但是它不是一个一元操作符。
1.2.25
在一个字符常量中遇到太多的字符。
1.2.26
1.2.27
源代码中发现非法的字符。消息中提供十六进制代码。假定是一个空格。如果你使用奇怪的字符在标识符名称中,你将得到这个信息。你可以使用选项-ident(见章节5.7其它选项.)
1.1.1.1.1
表1:PC-LINT错误号区间分配
错误类型
错误号-C
错误号-C++
告警级别
语法错误
1 -199
1001-1199
1
内部错误
200-299
0
致命错误
300-399
0
告警
400-699
1400-1699
2
提示信息
700-899
1700-1899
3
可选的注解
900-999
1900-1999
1.2.19
一个类型独自的出现而没有相关的变量,类型不是struct、union和enum.一个双分号能导致这个:
int x;;
1.2.20
一个函数声明后紧跟一个符号.
1.2.21
对于不确定大小的数组的初始化必须以一个左括号开始。
1.2.22
发现一个一元操作符紧跟一个操作数,这个操作符不是一个post操作符。
相关文档
最新文档