重複の可能性:
末尾再帰の最適化を行う C++ コンパイラはどれですか?
私は教育目的で Lisp に似た言語の小さなランタイムを作成していますが、私の言語では C コードに依存しているため、C コードが末尾呼び出しに最適化されていることを確認したいと考えています。テールコール再帰が最適化されることを保証するコンパイラはありますか? もしそうなら、再帰を最適化するためのルールについてのドキュメントはありますか?
明らかに、gcc または clang が適していますが、コードはそれに依存しているため、コードが適切に最適化されていることを確認する必要があります。