4.8 Подсказки
- Степень эффективности рекомендаций, задаваемых с помощью спецификатора класса хранения
register(C90 6.5.1, C99 и C11 6.7.1).Спецификатор
registerвлияет на генерацию кода только следующим образом:- При использовании в качестве части расширения для переменных в регистрах см. раздел Переменные в указанных регистрах.
- Если используется параметр -O0, компилятор выделяет отдельную память стека для всех переменных, у которых нет спецификатора класса хранения
register; если указанregister, время жизни переменной может быть короче, чем следует из кода, и она может вообще не размещаться в памяти. - На некоторых редких целевых платформах x86
setjmpне сохраняет регистры во всех случаях. В таких случаях GCC не размещает переменные в регистрах, если они не помеченыregister.
- Степень эффективности рекомендаций, задаваемых с помощью спецификатора функции inline (C99 и C11 6.7.4).
GCC не встраивает функции, если используется параметр -fno-inline или -O0. В противном случае GCC всё равно может не суметь встроить функцию по многим причинам; с помощью параметра -Winline можно определить, не была ли функция встроена и почему.
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-15.3.0/gcc/Hints-implementation.html