我正在尝试尽可能地用 C 语言编写函数风格的程序。
我知道像 GCC/Clang 这样的优秀编译器会默默地进行尾调用优化,但这并不能保证。是否有任何选项可以强制编译器进行尾调用优化? (当然,当仅在其自身末尾调用时)
Clang 13“musttail”属性强制尾部递归函数中的尾部调用优化,即使优化已禁用。
https://clang.llvm.org/docs/AttributeReference.html#musttail
usage:
int f(int x) {
...
__attribute__((musttail)) return f(x-1);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)