gpt4 book ai didi

c - 是否可以在 GCC/Clang 上强制进行尾调用优化?

转载 作者:太空狗 更新时间:2023-10-29 17:11:34 27 4
gpt4 key购买 nike

我正在尝试尽可能多地使用 C 编写函数式风格的程序。我知道像 GCC/Clang 这样的优秀编译器会默默地进行尾调用优化,但不能保证。是否有任何选项可以强制对编译器进行尾调用优化? (当然只有当它在自己的末尾被调用时)

最佳答案

Clang 13“musttail”属性强制尾递归函数中的尾调用优化,即使优化被禁用也是如此。

https://clang.llvm.org/docs/AttributeReference.html#musttail

用法:

int f(int x) {
...
__attribute__((musttail)) return f(x-1);
}

关于c - 是否可以在 GCC/Clang 上强制进行尾调用优化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4785066/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com