网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 杭州晶控电子有限公司 >> 文章中心 >> 单片机应用 >> 文章正文
  keil 7.0编译出现:error C316: unterminated conditionals            【字体:
keil 7.0编译出现:error C316: unterminated conditionals
作者:佚名    文章来源:不详    点击数:    更新时间:2008-01-06    
很多程序用keil c51 v6.xx可以编译通过,但用v7.0出现C316的错误.原因在于v7.0的setjmp.h头文件出错.

v7.0的setjmp.h文件比6.23的做了改动.v7.0的setjmp.h文件有语法错误.

v7.0的setjmp.h内容如下:
/*--------------------------------------------------------------------------
SETJMP.H

Prototypes for longjmp facility.
Copyright (c) 1988-2002 Keil Elektronik GmbH and Keil Software, Inc.
All rights reserved.
--------------------------------------------------------------------------*/

/* define the buffer type for holding the state information */
#ifdef __CX51__
#ifndef _JMP_BUF_DEFINED
#define _JBLEN    9  /* SP, SPE, ?C_XBP, ?C_IBP, ?C_PBP, RET-ADDR */
#else
#ifndef _JMP_BUF_DEFINED
#define _JBLEN    7  /* RET-ADDR, ?C_XBP, ?C_IBP, ?C_PBP, SP */
#endif

typedef  char jmp_buf[_JBLEN];
#define _JMP_BUF_DEFINED

/* function prototypes */
int  setjmp  (jmp_buf);
void longjmp (jmp_buf, int);
===========================================
而V6.23的setjmp.h内容如下:
/*--------------------------------------------------------------------------
SETJMP.H

Prototypes for longjmp facility.
Copyright (c) 1988-2001 Keil Elektronik GmbH and Keil Software, Inc.
All rights reserved.
--------------------------------------------------------------------------*/

/* define the buffer type for holding the state information */

#pragma SAVE
#pragma REGPARMS
#ifndef _JMP_BUF_DEFINED
#define _JBLEN    7  /* RET-ADDR, ?C_XBP, ?C_IBP, ?C_BP, SP */
typedef  char jmp_buf[_JBLEN];
#define _JMP_BUF_DEFINED
#endif

/* function prototypes */
int  setjmp  (jmp_buf);
void longjmp (jmp_buf, int);
#pragma RESTORE
===================================
这两个文件不同,当包含该文件时,也就是#include
时会导致编译错误.
这应该是软件的一个新的bug.建议不要使用setjmp.h或者对setjmp.h使用旧版本的文件.


文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    proteus与keil的完美结合(没
    用keil计算延时的方法
    KeilC51高级编程
    51单片机 Keil C 延时程序的
    一篇详细的KEIL C51 UV2使用
    [转载]Keil软件仿真的串口调
    关于在KEIL C51 中嵌入汇编以
    Keil C51编译错误总结
    keilc51用户上电初始化程序解
    直接输入二进制常数的KEIL C
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    杭州晶控电子有限公司 版权所有 站长:hificat