当前位置:首页 > 技术心得 > 正文内容

keil warning C316:unterminated conditionals

xjtudll14年前 (2012-05-16)技术心得35700

用Keil 4写程序时遇到这个问题:Warning C316:unterminated conditionals

Google了一番,基本上找到了原因:

类似XX.C(99):warning C316:unterminated conditionals这种警告的话,表明XX.c文件有一个凌乱的条件编译或预编译。例如,用了条件编译#ifndef而忘记写#endif。

写条件编译时,可能会忘写一个基本的语句。例如,用了条件编译#ifndef而忘记写#endif。它们本该同时出现,不能丢掉其中任何一个。一个include文件最后的#endif 少了# 前缀或者没有#endif,都会出现类似警告。

总之,出现上述问题。先看看整个C文件中是否出现上述错误,或整个工程中自己写的那些头文件中里面的条件编译是否都写对了,即:前面写了#ifndef或#ifdef,后面是否有对应的#endif。

扫描二维码推送至手机访问。

版权声明:本文由鸟的天空发布,如需转载请注明出处。

本文链接:http://www.xjtudll.cn/Exp/234/

标签: keilC51
分享给朋友:

“keil warning C316:unterminated conditionals” 的相关文章

物料新增工艺路线后是否会更新到物料计划资料中的工艺路线?

https://vip.kingdee.com/questions/141197/answers/166759 解决方案: 【概述】 当工艺路线新增时,选择缺省状态是“是”时,工艺路线审核以后会自动更新到物料的工艺路线。...

UltraEdit复制粘贴十六进制(二进制)

UltraEdit复制粘贴十六进制(二进制)

问题: 用UltraEdit打开文件,看其十六进制,需要将十六进制数据复制出来并粘贴到记事本。但是直接复制(或Ctrl+C),无法粘贴到记事本。 原因: 复制到剪贴板的是二进制码流,而不是文本,所以无法贴到只能处理文本的记事本里。 解决办法: 选中要复制的区域,右键--->【十六进制复制所选视...

金蝶K3获取当前会计期间 以及会计期间的开始结束时间

SELECT @CurPeriod =CONVERT(smallint,FValue) FROM t_SystemProFile WHERE FCategory='IC' AND FKey='CurrentPeriod'   SELECT @CurYear =CONVERT(smallin...

使用Doxygen生成Html文档

使用Doxygen生成Html文档

Doxygen是一种开源跨平台的,以类似JavaDoc风格描述的文档系统,完全支持C、C++、Java、Objective-C和IDL语言,部分支持PHP、C#。注释的语法与Qt-Doc、KDoc和JavaDoc兼容。Doxgen可以从一套归档源文件开始,生成HTML格式的在线类浏览器,或离线的LA...

SQL Server配置网络路径

远程数据库服务器名:ChenCunServer @@servername:ChenCunServer 现在需要在此机上新建发布。在第三步中,指定快照文件夹。默认是:D:\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\ReplData...

会声会影X8安装提示已安装另一个版本的解决方法

会声会影X8安装提示已安装另一个版本的解决方法

问题描述: 从未安装过会声会影,但是安装会声会影X8时提示已安装另一个版本。 原因: 只要系统安装了C++ 2005 redistributable和C++2008 redistributable,就会提示你会声会影已安装另一个版本。 解决办法: 卸载C++ 2005 redistributable...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。