GCC For ARM 的内联函数问题,有些疑惑需探讨

2019-12-13 18:19发布

我的 STM32 项目用 GCC 编译,遇到一个内联函数的问题:

当时是一个处理函数体积偏大,就拆成了几个内联小函数(inline)来增加可读性。

编译条件为 -g -O2 ,结果发现执行不正常,在某个地方死循环。

跟踪到内联函数处,发现是内联函数内的 return 又跳回它本体的入口处,这就造成了一个死循环。

所以不知道其他兄弟有没有碰到过类似的问题?如何解决?

我目前的处理方式是:

取消内联,直接当作普通函数使用。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。