C51语法和语义错误.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
--(完美WORD文档DOC格式,可在线免费浏览全文和下载)值得下载!

语法和语义错误 语法和语义错误一般出现在源程序中它们确定实际的编程错误当遇到这些错误时 编译器尝试绕过错误继续处理源文件当遇到更多的错误时编译器输出另外的错误 信息但是不产生OBJ文件 语法和语义错误在列表文件中生成一条信息这些错误信息用下面的格式 *** ERROR number IN LINE line OF file:error message 这里 number 错误号 line 对应源文件或包含文件的行号 file 产生错误的源或包含文件名 error message 对错误的叙述说明 下表按错误号列出了语法和语义错误错误信息列出了主要说明和可能的原因和改正 号错误信息和说明 100 跳过不可打印字符0x?? 在源文件中发现一个非法字符注意不检查注释中的字符 101 字符串没结束 一个字符串没有用双引号终止 102 字符串太长 一个字符串不能超过4096个字符用串联符号\ 在逻辑上可延长字符串 超过4096个字符这个模式的行终止符在词汇分析时是连续的 103 无效的字符常数 一个字符常数的格式无效符号\c 是无效的除非c是任何可打印的ASCII 字符 125 声明符太复杂20 一个目标的声明可包含最多20个类型修饰符[ ] * 这 号错误信息和说明 126 类型堆栈下溢 类型声明堆栈下溢这个错误通常是错误125的副产品 127 无效存储类 一个目标用一个无效的存储空间标识符声明,如果一个目标在一个函数外用存储类auto或register声明就会产生本错误 129 在标记前缺少; 本错误通常表示前一行缺少分号当出现本错误时编译器会产生很多错误信 息 130 值超出范围 在一个using或interrupt标识符后的数字参数是无效的,using标识符要求一个0到3之间的寄存器组号,interrupt标识符要求一个0到31之间的中断矢量号 131 函数参数重复 一个函数有相同的参数名,在函数声明中参数名必须是唯一的 132 没在正式的参数列表 一个函数的参数声明用了一个名称没在参数名列表中例如 char function(v0,v1,v2) char *v0,*v1,*v5; /* ‘v5’没在正式列表中 */ { /* … */ } 134 函数的xdata/idata/pdata/data不允许 函数通常位于code存储区不能在别的存储区运行,函数默认定义为存储类型 code 135 bit的存储类错 bit标量的声明可能包含一个static或extern存储类register或alien类是无效的 136 变量用了void void类型只允许作为一个不存在的返回值或一个函数的空参数列表void func(void) 或和一个指针组合void * 138 Interrupt()不能接受或返回值 一个中断函数被定义了一个或多个正式的参数或一个返回值中断函数不能 包含调用参数或返回值 140 位在非法的存储空间 bit标量的定义可以包含可选的存储类型data 如果没有存储类型则默认为 data 因为位通常在内部数据存储区当试图对一个bit标量定义别的数据类型 时会产生本错误 141 临近标志语法错误期待别的标志… 编译器所见的标志是错误的参考所显示的期待的内容 142 无效的基地址 一个sfr或sbit声明的基地址是错误的有效的基地址范围在0x80到0xFF之间 如果用符号基地址^位号声明则基地址必须是8的倍数 143 无效的绝对位地址 sbit声明中的绝对位地址必须在0x80到0xFF之间 144 基地址^位号无效的位号 sbit声明中定义的位号必须在0到7之间 145 未知的sfr 146 无效sfr 一个绝对位基地址^位号的声明包含一个无效的基地址标识符基地址必 须是已经声明的sfr 任何别的名称是无效的 147 目标文件太大 单个目标文件不能超过65535 64K字节-1 149 struct/union包含函数成员 struct或union不能包含一个函数类型的成员但是指向函数的指针是可以的 150 struct/union包含一个bit成员 一个union不能包含bit类型成员这是8051的结构决定的 151 struct/union自我关联 一个结构不能包含自己 152 位号超出位域 位域声明中指定的位号超过给定基类的位号 153 命名的位域不能为零 命名的位域为零只要未命名的位域允许为零 154 位域指针 指向位域的指针不允许 155 位域要求char/int 位域的基类要求char或int unsigned char和unsigned int类型也行 156 alien只允许对函数 157 alien函数带可变参数 存储类alien只对外部PL/M-51函数允许符号char *,… 在alien函数中是非

文档评论(0)

lingyun51 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档