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 而不能忘记写 " ; " ,否者就不能把一个语句表达完整。
- ERROR L104:
MULTIPLE PUBLIC DEFINITIONS
来自论坛的解答:https://blog.csdn.net/weixin_41374099/article/details/90143363
如果一个全局变量,在这个模块被其他地方引用的时候也能奏效的话,那么你应该在fun.c中定义,并在fun.h声明即可。无需在其他文件中声明和定义这个变量。
//fun.c
unsigned char leds[8]=0;
//fun.h
extern unsigned char leds[8]; //.h内不能初始化
以上是关于Keil编译警告warning C316:unterminated conditionals的主要内容,如果未能解决你的问题,请参考以下文章
用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警告方法