Spec-Zone.ru › GCC 15

7 Встроенные функции, предоставляемые GCC

GCC предоставляет очень большое количество неявно объявляемых встроенных функций, которые обычно подставляются компилятором непосредственно в код. Некоторые из этих встроенных функций напрямую соответствуют стандартным функциям библиотеки. Некоторые предназначены для внутреннего использования при обработке исключений или списков аргументов переменной длины и не документируются здесь, поскольку могут время от времени изменяться; мы не рекомендуем использовать эти функции в общем случае.

Остальные функции предоставляются либо для целей оптимизации, либо для доступа к низкоуровневым возможностям, необходимым для реализации функций библиотек или подобного «связующего кода» между GCC и другими языками программирования или библиотеками. Другие функции зависят от целевой платформы и обеспечивают прямой доступ к инструкциям, не имеющим прямых эквивалентов в C, без необходимости писать код на языке ассемблера. Существуют также встроенные функции для поддержки различных видов проверки ошибок во время выполнения.

Имена большинства встроенных функций имеют префикс ‘__builtin_’, хотя не все они следуют этому соглашению. Если не указано иное, все встроенные функции доступны во всех языках семейства C, поддерживаемых GCC.

За исключением встроенных функций, имеющих эквиваленты в библиотеках, например стандартных функций библиотеки C, рассматриваемых ниже в разделе Встроенные функции для функций библиотеки C, или функций, раскрывающихся в вызовы библиотек, встроенные функции GCC всегда раскрываются непосредственно в код и поэтому не имеют соответствующих точек входа, а получить их адрес невозможно. Попытка использовать их в выражении, отличном от вызова функции, приводит к ошибке компиляции.

  • Встроенные функции для функций библиотеки C
  • Дополнительные встроенные функции для числовых операций
  • Встроенные функции для выделения памяти в стеке
  • Нелокальные переходы
  • Формирование вызовов функций
  • Получение адреса возврата или адреса кадра функции
  • Внутренние интерфейсы очистки стека
  • Использование векторных инструкций с помощью встроенных функций
  • Встроенные функции для атомарного доступа к памяти
  • Проверка размера объекта
  • Встроенные функции для выделения и освобождения памяти в C++
  • Другие встроенные функции, предоставляемые GCC
  • Встроенные функции, предназначенные для конкретных целевых машин

© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-15.3.0/gcc/Built_002din-Functions.html

Spec-Zone.ru

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