Как использовать встроенный отчет gcc (-Winline) - PullRequest
4 голосов
/ 15 апреля 2011

Включение -Winline в моем проекте приводит к большому количеству результатов, которые я не совсем понимаю. Кто-нибудь знает, как использовать этот вывод, чтобы выяснить, почему моя конкретная функция не была встроена?

1 Ответ

3 голосов
/ 25 апреля 2011

Что ж, согласно моей странице руководства gcc ...

Компилятор использует различные эвристические методы, чтобы определить, следует ли встроить функцию.Например, компилятор учитывает размер встроенной функции и объем вставки, уже выполненный в текущей функции.Следовательно, кажущиеся незначительными изменения в исходной программе могут привести к появлению или исчезновению предупреждений, генерируемых -Winline.

Я не верю, что вы можете заставить компилятор встроить вашу функцию;это деталь реализации, которая может даже измениться при обновлении компилятора.Кроме того, до тех пор, пока выбор компилятора заставляет вашу функцию работать быстрее, есть ли какая-то особая причина, по которой вы заботитесь о том, является ли эта функция встроенной или нет?по какой-то причине вы хотите встроить вашу функцию, вы можете просто использовать макрос для этого.

...