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