Spec-Zone.ru › GCC 15

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API