IAR MSP430编译报错说明 下载本文

内容发布更新时间 : 2024/11/5 12:57:44星期一 下面是文章的全部内容请认真阅读。

UESTC 2013.3.11

18.2 编译警告消息 下表列出了编译警告消息

编号警告消息建议

0 Macro ?name? redefined 宏 ?name?被 重新定义

用#define 定义的符号被用不同的参数 或形式表重新定义

1 Macro formal partameter ?name? is never referenced 宏形式参数 ?name? 被重新定义

#define 形式参数从未在参数字符串中 出现

2 Macro ?name? is already#undef 宏 ?name?被重新定义

#undef 被用于不是宏观的符号

3 Macro ?name? called with empty

parameter(s) 用空参数调用宏 ?name? 用零长度(zero-length)的参数不清调 用在#define 中定义的参数化宏观

4 Macro ?name? is called recursively; not expanded 宏 ?name? 被递归调用 不扩展

递归宏调用使预处理器停止该宏的进一 步扩展

5 Undefined symbol ?name? in #if or #elif; assumed zero 在#if 或#elif 中未定义的符号 ?name?;假设为零 在#if 或#elif 表达式中把非宏符号作 为零来处理被认为是错误的编程实践 使用以下两个中任一个#ifdef symbol 或#if defined(symbol)

6 Unkown escape seguence ?\\c? ;assume? c? 未知的转义序列?\\c? 假设为?c? 在字符常数中发现反斜杠\\ 或字符 文字后随未知的转义字符

7 Nested comment found without using the?c? option 发现嵌套的注释未使用?c? 选项

在注释中发现字符序列

无条件转移或返回在一条或多条语名之 前使得这条或多条语句从来不会被执 行

21 Unreachable statement(s) at

unreachable label ?name? 在未卜先知 被引用的标号?name?处不能到达的语句 例如

Break; Here: I=2;

无条件转移或返回在有标号的一条或多 条语句之前但是标号从未被引用所 以这条或多余语句从来不会被执行

22 Non-void function: explicit “return” ; expected 非空函数 显式的 “return”<表达式> 被预期 非空non-void 函数产生隐含返回

这可能是从循环或开关语句中非预期的 退出注意不带default 的开关语句 总是被编译器当作可退出的而不管 case 的结构如何

23 Undeclared function ?name?; assumed “extern” “int” 未声明的函数?name?; 假设为“extern” “int”

对未声明函数的引用导致使用缺省的声 明函数被假设为具有K&R 类型具有 外部存储类别并返回int 整型 24 Static memory option converts local “auto” or “register” to “static”(静 态存储器选项把局部 “auto”或 “register”转换为 “static”)

用于静态存储器分配的命令行选项使 auto 自动和register 寄存器声 明被当作static 静态来处理

25 Inconsistent use of K&R functionvarying number of parameters(K&R 函 数的不一致使用-改变了参数的数目) 用改变了的参数类型调用K&R 函数

26 Inconsistent use of K&R functionchanging type of parameter K&R 函数

用改变了的参数类型调用K&R 函数 MSP430 系列C 编译器编程指南

利尔达电子中国有限公司 TEL 0571-88800000 FAX 0571-88805970 - 116 - 的不一致使用改变了参数的类型 例如 myfunc(34); myfunc(34.6);

27 Size of “extern” object ?name? is unknown 外部对象?name?的大小未知 Extern 外部数组应当用size 声明 28 Constant [index] outside array bound 常数[索引]超出数组边界

存在超出已声明数组边界的常数索引 29 Hexadecimal escape sequence larger than “char” 十六进制转义序列大于

“char”

转义序列被截断以适合于放入char 字 符中

30 Attribute ignored 属性被忽略 例子

因为const 常量或volatile 易失 的是对象的属性所以当它们与 structure 结构,union 联合或

enumeration(枚举)标签定义一起给出 时将被忽略上述定义没有和对象同时 声明而且函数被认为不能返回const 或volatile

31 Incompatible parameters of K&R functions K&R 函数的参数不兼容在 下列范围之一使用指针

指向函数的指针可能是间接的或K&R 函数声明具有不兼容的参数类型

32 Incompatible numbers parameters of

K&R functions(K&R 函数的参数数目不兼 容)在下列范围之一使用指针

指向函数的指针可能是间接的或K&R 函数声明具有不同数目的参数

33 Local or formal ?name? was never 在函数定义中未使用形式参数或局部变 referenced(局部或形式参数?name?从未被引用) 量对象

34 Non-printable character ?\\xhh? found in literal or character constant 在

文字或字符常数中发现不可打印字符号 ?\\xhh?

在字符串文字或字符常数中使用不可打 印non-printable 字符被认为是一 种不好的编程习惯为了得到同样的结 果可使用?\\0xhhh?

35 Old-style(K&R) type of function

declarator (老式(K&R)类型的函数声明) 发现老式(K&R)函数声明只有正在使 用-gA 选项时才发出这种警告 36 Floating point constant out of range(浮点常数超出范围)

浮点值太大或太小以致不能使用目标的 浮点系统来表示