インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス

foptimize-sibling-calls

末尾再帰呼び出しを最適化するかどうかを指定します。

構文

Linux* および macOS*:

-foptimize-sibling-calls

-fno-optimize-sibling-calls

Windows*:

なし

引数

なし

デフォルト

-foptimize-sibling-calls

コンパイラーは、末尾再帰呼び出しを最適化します。

説明

このオプションは、末尾再帰呼び出しを最適化するかどうかを指定します。このオプションにより、末尾再帰呼び出しがループに変換されます。

末尾再帰呼び出しを最適化しない場合は、-fno-optimize-sibling-calls を指定します。

末尾再帰は、スタック領域を使用しない特殊な再帰形式です。末尾再帰では、再帰呼び出しが関数の先頭に戻る GOTO 文に変換されます。この場合、再帰呼び出しの戻り値は返されるだけです。ほかの式では使用されません。再帰関数はループに変換されるため、使用されるスタック領域は変更されません。

IDE オプション

なし

代替オプション

なし