使用另一个过程而不是直接使用main()

时间:2012-09-02 17:31:30

标签: c gcc arm

在nxp CMSIS示例中,我们不再在主过程的主体中编写代码,而是调用另一个这样的过程:

int c_entry(void)
{
       //code Entry
    while(1);
    return 1;
}

int main (void)
{
    return c_entry();
}

我认为我们只是松开了记忆,我想知道这种编码有什么优势?

感谢

1 个答案:

答案 0 :(得分:0)

  

我认为我们只是松开了记忆

没有你想象的那么多。编译器可以优化对Jump的尾调用 - 因此不会有额外的堆栈使用 - 或者它甚至可以自动内联c_entry函数。至少GCC能够在更高的优化级别中实现这一目标。