Как узнать, оптимизирует ли gcc (точнее, g++) хвостовую рекурсию в определенной функции? (Потому что это происходит несколько раз: я не хочу проверять, может ли gcc оптимизировать хвостовую рекурсию в целом. Я хочу знать, оптимизирует ли она my хвостовую рекурсивную функцию.)
Если ваш ответ - "посмотреть на сгенерированный ассемблер", я хотел бы точно знать, что я ищу, и мог ли я написать простую программу, которая исследует ассемблер, чтобы увидеть, есть ли оптимизация.
PS. Я знаю, что это выглядит как часть вопроса Который, если есть, компиляторы С++ делают оптимизацию хвостовой рекурсии? от 5 месяцев назад. Однако я не думаю, что эта часть этого вопроса была удовлетворительно удовлетворена. (Ответ был: "Самый простой способ проверить, выполнил ли компилятор оптимизацию (что я знаю), - это вызов, который в противном случае привел бы к переполнению стека - или просмотрел вывод сборки".)