Spec-Zone.ru › GCC 11

Следующее: Структуры, объединения, перечисления и битовые поля, Предыдущее: Массивы и указатели, Наверх: Определяемое реализацией поведение C [Содержание][Индекс]

4.8 Подсказки ¶

  • Степень эффективности рекомендаций, сделанных с помощью спецификатора класса хранения register, (C90 6.5.1, C99 и C11 6.7.1).

    Спецификатор register влияет на генерацию кода только в следующих случаях:

    • При использовании в качестве части расширения переменных регистров, см. Переменные в заданных регистрах.
    • Когда используется -O0, компилятор выделяет отдельную память стека для всех переменных, у которых нет спецификатора класса хранения register; если указан register, срок жизни переменной может быть короче, чем указывает код, и она может никогда не быть размещена в памяти.
    • На некоторых редких x86-мишенях setjmp не сохраняет регистры во всех случаях. В этих случаях GCC не выделяет переменные в регистры, если они не помечены register.
  • Степень эффективности рекомендаций, сделанных с помощью спецификатора встраиваемой функции (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-11.4.0/gcc/Hints-implementation.html

Spec-Zone.ru

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