> Надеюсь, что ты не много времени потратил на "онализ" статьи:
> https://www.opennet.ru/opennews/art.shtml?num=49412 Ну и?
> GCC принимает решение об использовании inline-развёртывания функций в зависимости от результатов косвенной оценки размера результирующего кода (даже если функция определена с ключевым словом "inline"). Компилятор не учитывает фактический размер результирующего кода, а пытается прогнозировать его. Для ассемблерных вставок прогнозирование делается на основе числа переводов строк ("\n") и разделителей (";") в исходном тексте.
Ты считаешь, что то перевод оригинала:
ссылка из новости == предыдущая ссылка анонима
https://nadav.amit.zone/blog/linux-inline => https://nadav.amit.zone/linux/2018/10/10/newline.html
(с некоторыми домыслами, т.к. "inline" по стандарту c99 - только хинт
> A function declared with an inline function specifier is an inline function. The function specifier may appear more than once; the behavior is the same as if it appeared
> only once. Making a function an inline function suggests that calls to the function be as fast as possible.
> The extent to which such suggestions are effective is implementation-defined.
и компилятор си не может учитывать фактический размер вставок "foreign" кода:
> Разъясняю для опеннетных аналитиков современного компиляторостроения:
> Т.к. ассемблер запускается после компиляции кода, то размер вставок на момент компиляции - не известен и компилятор вынужден гадать по кол. строк и ";".
более "убедителен" или опять "онализировал" только заголовки?