インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス
末尾再帰呼び出しを最適化するかどうかを指定します。
Linux* および macOS*: | -foptimize-sibling-calls -fno-optimize-sibling-calls |
Windows*: | なし |
なし
-foptimize-sibling-calls |
コンパイラーは、末尾再帰呼び出しを最適化します。 |
このオプションは、末尾再帰呼び出しを最適化するかどうかを指定します。このオプションにより、末尾再帰呼び出しがループに変換されます。
末尾再帰呼び出しを最適化しない場合は、-fno-optimize-sibling-calls を指定します。
末尾再帰は、スタック領域を使用しない特殊な再帰形式です。末尾再帰では、再帰呼び出しが関数の先頭に戻る GOTO 文に変換されます。この場合、再帰呼び出しの戻り値は返されるだけです。ほかの式では使用されません。再帰関数はループに変換されるため、使用されるスタック領域は変更されません。
なし