Keil编译警告warning C316:unterminated conditionals

Posted perseverance52

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Keil编译警告warning C316:unterminated conditionals相关的知识,希望对你有一定的参考价值。

【Keil编译警告】warning C316:unterminated conditionals

Keil编译警告

  • warning C316:unterminated conditionals

可能某个XX.C(99):warning C316:unterminated conditionals这种警告的话XX.c文件有一个凌乱的条件编译或预编译。因为C语言中有些头文件中的预编译或宏定义,那么条件编译就避免不了。写条件编译时,可能有忘写一个基本的语句。比如说,你用了条件编译#ifndef而忘记写#endif。因为他们本来就是配套的。有前者必有后者。不能丢掉其中任何一个。一个include(.h)文件最后的#endif 少了# 前缀或者没有#endif,都会出现类似警告。就像你写C语句,你不会写了 int i 而不能忘记写 " ; " ,否者就不能把一个语句表达完整。

如果一个全局变量,在这个模块被其他地方引用的时候也能奏效的话,那么你应该在fun.c中定义,并在fun.h声明即可。无需在其他文件中声明和定义这个变量。

//fun.c
unsigned char leds[8]=0;

//fun.h
extern unsigned char leds[8];  //.h内不能初始化

以上是关于Keil编译警告warning C316:unterminated conditionals的主要内容,如果未能解决你的问题,请参考以下文章

用keil4编译时出现以下警告,一直看不明白啥意思,求帮助

Keil5调试过程中遇到的一些警告和错误

用keil编译提示 warning: #...: last line of file ends without a newline

转载keil消除*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS警告方法

转载keil消除*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS警告方法

转载keil消除*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS警告方法