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

keil warning C316:unterminated conditionals

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

用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://xjtudll.cn/Exp/234/

标签: keilC51
分享给朋友:

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

线反转法行列键盘扫描

线反转法行列键盘扫描

    行列键盘的学习是单片机学习的必经之路,可是对于初学者来说学习起来并不容易。书上的资料不多,或是说明不细,亦或太复杂不易理解。而线反转法行列键盘扫描简单易懂,非常适合初学者学习,也可作为程序开发之用。    了解行...

Multisim运放输出超过电源电压解决

Multisim运放输出超过电源电压解决

在使用Multisim自带库里的运放的时候,例如LM324M,发现一个问题,运放的输出电压能达到几百V甚至几千V,而电源明显只有几V而已。输出电压超过电源电压,理论上是不可能的,实际上也是不可能的,那么肯定就是仿真有误了,其实根本原因是Multisim里面运放是三脚模型,根本没考虑电源。我们查看LM...

C#实现重启应用程序

推荐使用: Application.Restart();...

Android BLE:onServicesDiscovered(BluetoothGatt gatt, int status) 没有回调过

问题: .discoverServices()调用之后,却永远不回调onServicesDiscovered(BluetoothGatt gatt, int status) 基本代码如下: public void onConnectionStateChange(BluetoothGatt gatt...

STM8L PC0 PC1无法输出高电平

STM8L PC0 PC1无法输出高电平

MCU:STM8L151K4 参考代码: PC_DDR |= BIT1; PC_CR1 |= BIT1; PC_ODR |= BIT1; 现象: 无法输出高电平,一直是低电平 原因: STM8L PC0和PC1是N沟道开漏输出,所以必须接上拉电阻才能输出高电平。 以下截图来自于STM8L151...

c# toolstrip控件怎么把左边的几个小点去掉

c# toolstrip控件怎么把左边的几个小点去掉

c# toolstrip控件怎么把左边的几个小点去掉 小点如下图所示: 解决办法: 选中你的toolstrip 然后属性 属性中有个 GripStyle 设置Hidden...

发表评论

访客

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