GCC Return optimiztion

扶醉桌前 提交于 2019-12-01 09:24:08

This is called tail-call optimization (it is not specified in any C standard; in contrast, some languages -e.g. Scheme and Ocaml- specify that tail-call optimization is required to happen). In some cases, recent GCC compilers can do that optimization.

But it really depends upon the details, in particular of the actual arguments passed to call_func

If you depend on it, please comment your code and check with gcc -fverbose-asm -O2 -S that your compiler is doing that.

Notice that this optimization is not required, and might be compiler, compilation flags, processor and ABI specific.

(so it could work on x86-64 but not on 32 bits ia32 or ARM; you really should check!)

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!