KEIL调用CODE数组 出现WARNING L13: 有何办法处理
本帖最后由 nhztb 于 2013-10-16 15:04 编辑UINT16 code Gray_33[]= {
0x0,
……
……
0xffff,};
void Display_windos(UINT16 xs,UINT16 ys,UINT16 xl,UINT16 yl,UINT8 color)
{
UINT8k;
k=0x0;
for(k=0;k<(33);k++)
Display_bock_c(xs,ys+k*((yl)/33),(xl),yl/33,Gray_33&color);
}
有两个以上函数调用Gray_33,
这样就会出现 *** WARNING L13: RECURSIVE CALL TO FUNCTION
不知道是什么原因造成的。有何办法解决? 很奇怪,把数组定义到另一个C文件中,就没有这个警告。没有搞清楚是什么问题。 应该没有这个C文件中没有声明可调用这个数组 GZLJZ 发表于 2013-10-16 15:38 static/image/common/back.gif
应该没有这个C文件中没有声明可调用这个数组
一开始是放在同一个C文件里的,就有警告。
后来把数组放另一个文件里了,就没有警告 本帖最后由 GZLJZ 于 2013-10-16 21:03 编辑
nhztb 发表于 2013-10-16 17:05 static/image/common/back.gif
一开始是放在同一个C文件里的,就有警告。
后来把数组放另一个文件里了,就没有警告 ...
那就是这个C文件没有说明被外部调用
总之就是声明CODE数组
这个C文件声明CODE数组可被外部调用
另个C文件要用CODE数组,还要声明调用外部文件(CODE数组)的
通常做法是,声明的东西放在H文件里,要用哪个声明就包含该H文件就可以了,这个又不怕重复的 GZLJZ 发表于 2013-10-16 20:55 static/image/common/back.gif
那就是这个C文件没有说明被外部调用
总之就是声明CODE数组
这个C文件声明CODE数组可被外部调用
一开始是在同一个C文件内定义 一个CODE数组,还有两个函数;都会调用这个数组。
编译就出上面警告。
你是指调用同一个C文件内的数组,也要在外面声明下是吗??等下试下。我这边试的结果是放在同一个C文件内,声明了是外部也会警告。 我也遇到奇葩的问题,不知道为什么么。
页:
[1]