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

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条回答
Pony279
1楼-- · 2020-01-19 23:34
DB_SendString(" Error! Undefined CMD! ");
删掉就没warning了
可是那只不过是一个串口发送函数呀。。。

我继续晕。。。
Pony279
2楼-- · 2020-01-20 02:01
我还是继续coding去了。。。
他奶奶的警告就是用来无视的。。。

warning 就是用来 ignored 的。。。
rlogin
3楼-- · 2020-01-20 07:09
确定没有调用可以不了
usingavr
4楼-- · 2020-01-20 08:15
 精彩回答 2  元偷偷看……
xrr1017
5楼-- · 2020-01-20 13:31
DB_SendString是不是直接或间接地在中断中被调用了
不要轻易怀疑编译器,帮助文档中应该对RECURSIVE CALL TO FUNCTION 的各种情形有詳細说明
Pony279
6楼-- · 2020-01-20 16:26
回复【4楼】usingavr  
-----------------------------------------------------------------------

这段代码是新添加的内容,有可能吗

一周热门 更多>