晕。。。我哪里有递归。。。

2020-01-19 19:37发布

最近在改一些以前的代码,为了提高可读性和易用性,加了点东西,KEIL的linker就告状说我递归了,我愣是没看明白,大伙儿帮我瞧瞧
warning是:
linking...
*** WARNING L13: RECURSIVE CALL TO FUNCTION
    CALLED:  ?CO?MMC_SD
    CALLER:  _GETRESPONSEERR/MMC_SD

下面是新加的内容,只是个结构,还没写完呢

code u8 response_type_list[] =
{
0       
};

typedef u8 R1;

typedef union
{
        R1        r1;
}response;

typedef  void (*PTRGetResponse)(response* );

void GetResponseErr(response* p_res);
void GetResponseR1(response* p_res);
void GetResponseR2(response* p_res);
void GetResponseR3(response* p_res);
void GetResponseR4(response* p_res);
void GetResponseR5(response* p_res);
void GetResponseR6(response* p_res);
void GetResponseR7(response* p_res);

code const PTRGetResponse PTRGetResponseList[] =
{
        &GetResponseErr,
        &GetResponseR1,
        &GetResponseR2,
        &GetResponseR3,
        &GetResponseR4,
        &GetResponseR5,
        &GetResponseR6,
        &GetResponseR7
};

//说明:
//        对于没有的命令和 reserved 的命令的响应
void GetResponseErr(response* p_res)
{
        p_res = NULL;
        DB_SendString(" Error! Undefined CMD! ");
}

void GetResponseR1(response* p_res)
{
}

void GetResponseR2(response* p_res)
{
}

void GetResponseR3(response* p_res)
{
}

void GetResponseR4(response* p_res)
{
       
}

void GetResponseR5(response* p_res)
{
       
}

void GetResponseR6(response* p_res)
{
}

void GetResponseR7(response* p_res)
{
       
}

这些代码是新添加的内容,删掉后正常
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
27条回答
hitler
1楼-- · 2020-01-22 07:15
 精彩回答 2  元偷偷看……
Pony279
2楼-- · 2020-01-22 13:08
回复【19楼】hitler
-----------------------------------------------------------------------


我刚刚做了个“中断函数和非中断函数同时调用同一个函数”的测试,没有警告,可能是因为我用的是LX51 linker,

(原文件名:1.jpg)

以前用BL51 linker的时候,警告都是 multi call to function
警告我 recursive call 的还是头一次见
Pony279
3楼-- · 2020-01-22 14:08
事实证明,编译器已经SB了。。。我还是重装一遍好了。。。
Pony279
4楼-- · 2020-01-22 16:28
重装了一遍,结果还是一样。。。

我能不怀疑这是Keil的BUG么。。。
lmserver
5楼-- · 2020-01-22 21:50
有BUG避开便是,没花钱的编译器,何必较真。
Pony279
6楼-- · 2020-01-23 02:35
 精彩回答 2  元偷偷看……

一周热门 更多>