4.8 Подсказки ¶
- Степень эффективности рекомендаций, сделанных с помощью спецификатора класса хранения
register, (C90 6.5.1, C99 и C11 6.7.1).Спецификатор
registerвлияет на генерацию кода только следующим образом:- Когда используется в качестве части расширения переменной 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-10.5.0/gcc/Hints-implementation.html