Spec-Zone.ru › GCC 12

Использование GNU Компилятора (GCC)

Данный файл документирует использование GNU компиляторов.

Авторское право © 1988-2022 Free Software Foundation, Inc.

Разрешается копировать, распространять и/или изменять данный документ в соответствии с условиями GNU Лицензии на свободную документацию, Версии 1.3 или любой более поздней версии, опубликованной Free Software Foundation; с неизменными разделами «Финансирование свободного программного обеспечения», текстом на лицевой обложке (а) (см. ниже) и текстом на задней обложке (б) (см. ниже). Копия лицензии включена в раздел «GNU Лицензия на свободную документацию».

(а) Текст Free Software Foundation на лицевой обложке:

Руководство GNU

(б) Текст Free Software Foundation на задней обложке:

Вы имеете свободу копировать и изменять данное Руководство GNU, как и программное обеспечение GNU. Копии, опубликованные Free Software Foundation, собирают средства для развития GNU.

Краткое содержание

  • 1 Языки программирования, поддерживаемые GCC
  • 2 Стандарты языков, поддерживаемые GCC
  • 3 Командные опции GCC
  • 4 Определяемое реализацией поведение C
  • 5 Определяемое реализацией поведение C++
  • 6 Расширения семейства языков C
  • 7 Расширения языка C++
  • 8 Особенности GNU Objective-C
  • 9 Бинарная совместимость
  • 10 gcov—Программа покрытия кода
  • 11 gcov-tool—Инструмент для автономной обработки профилей Gcda
  • 12 gcov-dump—Инструмент для автономной выгрузки профилей Gcda и Gcno
  • 13 lto-dump—Инструмент для выгрузки объектов LTO.
  • 14 Известные причины проблем с GCC
  • 15 Сообщения об ошибках
  • 16 Как получить помощь с GCC
  • 17 Вклад в разработку GCC
  • Финансирование свободного программного обеспечения
  • Проект GNU и GNU/Linux
  • GNU Общественная лицензия
  • GNU Лицензия на свободную документацию
  • Авторы GCC
  • Индекс опций
  • Индекс ключевых слов

Содержание

  • 1 Языки программирования, поддерживаемые GCC
  • 2 Стандарты языков, поддерживаемые GCC
    • 2.1 Язык C
    • 2.2 Язык C++
    • 2.3 Языки Objective-C и Objective-C++
    • 2.4 Язык Go
    • 2.5 Язык D
    • 2.6 Справочные материалы по другим языкам
  • 3 Командные опции GCC
    • 3.1 Краткое описание опций
    • 3.2 Опции управления типом вывода
    • 3.3 Компиляция программ на C++
    • 3.4 Опции управления диалектом C
    • 3.5 Опции управления диалектом C++
    • 3.6 Опции управления диалектами Objective-C и Objective-C++
    • 3.7 Опции управления форматированием сообщений об ошибках
    • 3.8 Опции запроса или подавления предупреждений
    • 3.9 Опции управления статическим анализом
    • 3.10 Опции для отладки вашей программы
    • 3.11 Опции управления оптимизацией
    • 3.12 Опции инструментирования программы
    • 3.13 Опции управления препроцессором
    • 3.14 Передача опций ассемблеру
    • 3.15 Опции для линковки
    • 3.16 Опции для поиска каталогов
    • 3.17 Опции для соглашений о генерации кода
    • 3.18 Опции разработчика GCC
END_OF_DOCUMENT_MARKER
    • 3.19 Параметры, зависящие от машины
      • 3.19.1 Параметры AArch64
        • 3.19.1.1 Модификаторы функций -march и -mcpu
      • 3.19.2 Параметры Adapteva Epiphany
      • 3.19.3 Параметры AMD GCN
      • 3.19.4 Параметры ARC
      • 3.19.5 Параметры ARM
      • 3.19.6 Параметры AVR
        • 3.19.6.1 EIND и устройства с более чем 128 КБ флеш-памяти
        • 3.19.6.2 Обработка RAMPD, RAMPX, RAMPY и RAMPZ специальных регистров функций
        • 3.19.6.3 Встроенные макросы AVR
      • 3.19.7 Параметры Blackfin
      • 3.19.8 Параметры C6X
      • 3.19.9 Параметры CRIS
      • 3.19.10 Параметры CR16
      • 3.19.11 Параметры C-SKY
      • 3.19.12 Параметры Darwin
      • 3.19.13 Параметры DEC Alpha
      • 3.19.14 Параметры eBPF
      • 3.19.15 Параметры FR30
      • 3.19.16 Параметры FT32
      • 3.19.17 Параметры FRV
      • 3.19.18 Параметры GNU/Linux
      • 3.19.19 Параметры H8/300
      • 3.19.20 Параметры HPPA
      • 3.19.21 Параметры IA-64
      • 3.19.22 Параметры LM32
      • 3.19.23 Параметры LoongArch
      • 3.19.24 Параметры M32C
      • 3.19.25 Параметры M32R/D
      • 3.19.26 Параметры M680x0
      • 3.19.27 Параметры MCore
      • 3.19.28 Параметры MeP
      • 3.19.29 Параметры MicroBlaze
      • 3.19.30 Параметры MIPS
      • 3.19.31 Параметры MMIX
      • 3.19.32 Параметры MN10300
      • 3.19.33 Параметры Moxie
      • 3.19.34 Параметры MSP430
      • 3.19.35 Параметры NDS32
      • 3.19.36 Параметры Nios II
      • 3.19.37 Параметры Nvidia PTX
      • 3.19.38 Параметры OpenRISC
      • 3.19.39 Параметры PDP-11
      • 3.19.40 Параметры picoChip
      • 3.19.41 Параметры PowerPC
      • 3.19.42 Параметры PRU
      • 3.19.43 Параметры RISC-V
      • 3.19.44 Параметры RL78
      • 3.19.45 Параметры IBM RS/6000 и PowerPC
      • 3.19.46 Параметры RX
      • 3.19.47 Параметры S/390 и zSeries
      • 3.19.48 Параметры Score
      • 3.19.49 Параметры SH
      • 3.19.50 Параметры Solaris 2
      • 3.19.51 Параметры SPARC
      • 3.19.52 Параметры System V
      • 3.19.53 Параметры TILE-Gx
      • 3.19.54 Параметры TILEPro
      • 3.19.55 Параметры V850
      • 3.19.56 Параметры VAX
      • 3.19.57 Параметры Visium
      • 3.19.58 Параметры VMS
      • 3.19.59 Параметры VxWorks
      • 3.19.60 Параметры x86
      • 3.19.61 Параметры x86 Windows
      • 3.19.62 Параметры Xstormy16
      • 3.19.63 Параметры Xtensa
      • 3.19.64 Параметры zSeries
    • 3.20 Указание дочерних процессов и переключателей, передаваемых им
    • 3.21 Переменные среды, влияющие на GCC
    • 3.22 Использование предварительно скомпилированных заголовков
    • 3.23 Модули C++
      • 3.23.1 Карта модулей
      • 3.23.2 Предварительная обработка модулей
      • 3.23.3 Интерфейс скомпилированного модуля
  • 4 Реализация, определяемая поведением C
    • 4.1 Трансляция
    • 4.2 Окружение
    • 4.3 Идентификаторы
    • 4.4 Символы
    • 4.5 Целые числа
    • 4.6 Числа с плавающей точкой
    • 4.7 Массивы и указатели
    • 4.8 Подсказки
    • 4.9 Структуры, объединения, перечисления и битовые поля
    • 4.10 Квалификаторы
    • 4.11 Деклараторы
    • 4.12 Операторы
    • 4.13 Директивы препроцессора
    • 4.14 Функции библиотеки
    • 4.15 Архитектура
    • 4.16 Локализованное поведение
  • 5 Реализация, определяемая поведением C++
    • 5.1 Условно поддерживаемое поведение
    • 5.2 Обработка исключений
  • 6 Расширения семейства языков C
    • 6.1 Операторы и объявления в выражениях
    • 6.2 Местные метки
    • 6.3 Метки как значения
    • 6.4 Вложенные функции
    • 6.5 Нелокальные переходы
    • 6.6 Создание вызовов функций
    • 6.7 Ссылка на тип с typeof
    • 6.8 Условные операторы с опущенными операндами
    • 6.9 128-битные целые числа
    • 6.10 Двойные слова целых чисел
    • 6.11 Комплексные числа
    • 6.12 Дополнительные типы чисел с плавающей точкой
    • 6.13 Полуточная плавающая точка
    • 6.14 Десятичные типы с плавающей точкой
    • 6.15 Шестнадцатеричные числа с плавающей точкой
    • 6.16 Типы с фиксированной точкой
    • 6.17 Имена адресных пространств
      • 6.17.1 Имена адресных пространств AVR
      • 6.17.2 Имена адресных пространств M32C
      • 6.17.3 Имена адресных пространств PRU
      • 6.17.4 Имена адресных пространств RL78
      • 6.17.5 Имена адресных пространств x86
    • 6.18 Массивы длины ноль
    • 6.19 Структуры без членов
    • 6.20 Массивы переменной длины
    • 6.21 Макросы с переменным числом аргументов
    • 6.22 Несколько более свободные правила для экранированных символов новой строки
    • 6.23 Массивы без L-значений могут иметь индексы
    • 6.24 Арифметика на указателях типа void и указателях на функции
    • 6.25 Указатели-аргументы в вариативных функциях
    • 6.26 Указатели на массивы с квалификаторами работают как ожидается
    • 6.27 Непостоянные инициализаторы
    • 6.28 Составные литералы
    • 6.29 Обозначенные инициализаторы
    • 6.30 Диапазоны case
    • 6.31 Приведение к типу объединения
    • 6.32 Смешанные объявления, метки и код
    • 6.33 Определение атрибутов функций
      • 6.33.1 Общие атрибуты функций
      • 6.33.2 Атрибуты функций AArch64
        • 6.33.2.1 Правила встраивания
      • 6.33.3 Атрибуты функций AMD GCN
      • 6.33.4 Атрибуты функций ARC
      • 6.33.5 Атрибуты функций ARM
      • 6.33.6 Атрибуты функций AVR
      • 6.33.7 Атрибуты функций Blackfin
      • 6.33.8 Атрибуты функций BPF
      • 6.33.9 Атрибуты функций CR16
      • 6.33.10 Атрибуты функций C-SKY
      • 6.33.11 Атрибуты функций Epiphany
      • 6.33.12 Атрибуты функций H8/300
      • 6.33.13 Атрибуты функций IA-64
      • 6.33.14 Атрибуты функций M32C
      • 6.33.15 Атрибуты функций M32R/D
      • 6.33.16 Атрибуты функций m68k
      • 6.33.17 Атрибуты функций MCORE
      • 6.33.18 Атрибуты функций MeP
      • 6.33.19 Атрибуты функций MicroBlaze
      • 6.33.20 Атрибуты функций Microsoft Windows
      • 6.33.21 Атрибуты функций MIPS
      • 6.33.22 Атрибуты функций MSP430
      • 6.33.23 Атрибуты функций NDS32
      • 6.33.24 Атрибуты функций Nios II
      • 6.33.25 Атрибуты функций Nvidia PTX
      • 6.33.26 Атрибуты функций PowerPC
      • 6.33.27 Атрибуты функций RISC-V
      • 6.33.28 Атрибуты функций RL78
      • 6.33.29 Атрибуты функций RX
      • 6.33.30 Атрибуты функций S/390
      • 6.33.31 Атрибуты функций SH
      • 6.33.32 Атрибуты функций Symbian OS
      • 6.33.33 Атрибуты функций V850
      • 6.33.34 Атрибуты функций Visium
      • 6.33.35 Атрибуты функций x86
      • 6.33.36 Атрибуты функций Xstormy16
    • 6.34 Определение атрибутов переменных
      • 6.34.1 Общие атрибуты переменных
      • 6.34.2 Атрибуты переменных ARC
      • 6.34.3 Атрибуты переменных AVR
      • 6.34.4 Атрибуты переменных Blackfin
      • 6.34.5 Атрибуты переменных H8/300
      • 6.34.6 Атрибуты переменных IA-64
      • 6.34.7 Атрибуты переменных M32R/D
      • 6.34.8 Атрибуты переменных MeP
      • 6.34.9 Атрибуты переменных Microsoft Windows
      • 6.34.10 Атрибуты переменных MSP430
      • 6.34.11 Атрибуты переменных Nvidia PTX
      • 6.34.12 Атрибуты переменных PowerPC
      • 6.34.13 Атрибуты переменных RL78
      • 6.34.14 Атрибуты переменных V850
      • 6.34.15 Атрибуты переменных x86
      • 6.34.16 Атрибуты переменных Xstormy16
    • 6.35 Определение атрибутов типов
      • 6.35.1 Общие атрибуты типов
      • 6.35.2 Атрибуты типов ARC
      • 6.35.3 Атрибуты типов ARM
      • 6.35.4 Атрибуты типов BPF
      • 6.35.5 Атрибуты типов MeP
      • 6.35.6 Атрибуты типов PowerPC
      • 6.35.7 Атрибуты типов x86
    • 6.36 Атрибуты меток
    • 6.37 Атрибуты перечислителей
    • 6.38 Атрибуты операторов
    • 6.39 Синтаксис атрибутов
    • 6.40 Прототипы и определения функций старого стиля
    • 6.41 Комментарии в стиле C++
    • 6.42 Знаки доллара в именах идентификаторов
    • 6.43 Символ ESC в константах
    • 6.44 Определение выравнивания функций, типов или переменных
    • 6.45 Встроенная функция — так же быстра, как макрос
    • 6.46 Когда осуществляется доступ к объекту volatile?
    • 6.47 Как использовать встроенный язык ассемблера в коде C
      • 6.47.1 Базовый ассемблер — инструкции ассемблера без операндов
      • 6.47.2 Расширенный ассемблер — инструкции ассемблера с операндами выражений C
        • 6.47.2.1 Volatile
        • 6.47.2.2 Шаблон ассемблера
        • 6.47.2.3 Операнды вывода
        • 6.47.2.4 Операнды вывода флагов
        • 6.47.2.5 Операнды ввода
        • 6.47.2.6 Затирания и регистры-временные переменные
        • 6.47.2.7 Метки goto
        • 6.47.2.8 Модификаторы операндов x86
        • 6.47.2.9 x86 Операнды с плавающей запятой
        • 6.47.2.10 Модификаторы операндов MSP430
      • 6.47.3 Ограничения для asm операндов
        • 6.47.3.1 Простые ограничения
        • 6.47.3.2 Многовариантные ограничения
        • 6.47.3.3 Символы-модификаторы ограничений
        • 6.47.3.4 Ограничения для конкретных машин
      • 6.47.4 Управление именами, используемыми в коде ассемблера
      • 6.47.5 Переменные в указанных регистрах
        • 6.47.5.1 Определение глобальных регистровых переменных
        • 6.47.5.2 Указание регистров для локальных переменных
      • 6.47.6 Размер asm
    • 6.48 Альтернативные ключевые слова
    • 6.49 Неполные типы enum
    • 6.50 Имена функций как строки
    • 6.51 Получение адреса возврата или фрейма функции
    • 6.52 Использование векторных инструкций через встроенные функции
    • 6.53 Поддержка offsetof
    • 6.54 Легасные __sync встроенные функции для атомарного доступа к памяти
    • 6.55 Встроенные функции для атомарных операций, учитывающие модель памяти
    • 6.56 Встроенные функции для выполнения арифметических операций с проверкой переполнения
    • 6.57 Специфичные для x86 расширения модели памяти для транзакционной памяти
    • 6.58 Встроенные функции проверки размера объекта
    • 6.59 Другие встроенные функции, предоставляемые GCC
    • 6.60 Встроенные функции, специфичные для конкретных целевых машин
      • 6.60.1 Встроенные функции AArch64
      • 6.60.2 Встроенные функции Alpha
      • 6.60.3 Встроенные функции Altera Nios II
      • 6.60.4 Встроенные функции ARC
      • 6.60.5 Встроенные функции ARC SIMD
      • 6.60.6 Встроенные функции ARM iWMMXt
      • 6.60.7 Расширения языка C ARM (ACLE)
      • 6.60.8 Встроенные функции статуса и управления плавающей запятой ARM
      • 6.60.9 Расширения безопасности ARM ARMv8-M
      • 6.60.10 Встроенные функции AVR
      • 6.60.11 Встроенные функции Blackfin
      • 6.60.12 Встроенные функции BPF
      • 6.60.13 Встроенные функции FR-V
        • 6.60.13.1 Типы аргументов
        • 6.60.13.2 Функции целых чисел с прямым отображением
        • 6.60.13.3 Функции обработки медиа с прямым отображением
        • 6.60.13.4 Функции чтения/записи в сыром формате
        • 6.60.13.5 Другие встроенные функции
      • 6.60.14 Встроенные функции MIPS DSP
      • 6.60.15 Поддержка парных чисел с одинарной точностью MIPS
      • 6.60.16 Встроенные функции MIPS Loongson
        • 6.60.16.1 Арифметика парных чисел с одинарной точностью
        • 6.60.16.2 Встроенные функции парных чисел с одинарной точностью
        • 6.60.16.3 Встроенные функции MIPS-3D
      • 6.60.17 Поддержка архитектуры MIPS SIMD (MSA)
        • 6.60.17.1 Встроенные функции архитектуры MIPS SIMD
      • 6.60.18 Другие встроенные функции MIPS
      • 6.60.19 Встроенные функции MSP430
      • 6.60.20 Встроенные функции NDS32
      • 6.60.21 Встроенные функции picoChip
      • 6.60.22 Базовые встроенные функции PowerPC
        • 6.60.22.1 Базовые встроенные функции PowerPC, доступные на всех конфигурациях
        • 6.60.22.2 Базовые встроенные функции PowerPC, доступные на ISA 2.05
        • 6.60.22.3 Базовые встроенные функции PowerPC, доступные на ISA 2.06
        • 6.60.22.4 Базовые встроенные функции PowerPC, доступные на ISA 2.07
        • 6.60.22.5 Базовые встроенные функции PowerPC, доступные на ISA 3.0
        • 6.60.22.6 Базовые встроенные функции PowerPC, доступные на ISA 3.1
      • 6.60.23 Встроенные функции PowerPC AltiVec/VSX
        • 6.60.23.1 Встроенные функции PowerPC AltiVec на ISA 2.05
        • 6.60.23.2 Встроенные функции PowerPC AltiVec, доступные на ISA 2.06
        • 6.60.23.3 Встроенные функции PowerPC AltiVec, доступные на ISA 2.07
        • 6.60.23.4 Встроенные функции PowerPC AltiVec, доступные на ISA 3.0
        • 6.60.23.5 Встроенные функции PowerPC AltiVec, доступные на ISA 3.1
      • 6.60.24 Встроенные функции PowerPC HTM
        • 6.60.24.1 Встроенные функции PowerPC HTM низкого уровня
        • 6.60.24.2 Встроенные функции PowerPC HTM высокого уровня
      • 6.60.25 Функции атомарных операций с памятью PowerPC
END_OF_DOCUMENT_MARKER
      • 6.60.26 Встроенные функции PowerPC Matrix-Multiply Assist
      • 6.60.27 Встроенные функции PRU
      • 6.60.28 Встроенные функции RISC-V
      • 6.60.29 Встроенные функции RX
      • 6.60.30 Встроенные функции S/390 System z
      • 6.60.31 Встроенные функции SH
      • 6.60.32 Встроенные функции SPARC VIS
      • 6.60.33 Встроенные функции TI C6X
      • 6.60.34 Встроенные функции TILE-Gx
      • 6.60.35 Встроенные функции TILEPro
      • 6.60.36 Встроенные функции x86
      • 6.60.37 Встроенные функции x86 для транзакционной памяти
      • 6.60.38 Встроенные функции x86 для защиты потока управления
    • 6.61 Проверка формата, специфичная для целевых машин
      • 6.61.1 Проверка формата Solaris
      • 6.61.2 Проверка формата Darwin
    • 6.62 Принятые GCC псевдокоманды
      • 6.62.1 Псевдокоманды AArch64
      • 6.62.2 Псевдокоманды ARM
      • 6.62.3 Псевдокоманды M32C
      • 6.62.4 Псевдокоманды MeP
      • 6.62.5 Псевдокоманды PRU
      • 6.62.6 Псевдокоманды RS/6000 и PowerPC
      • 6.62.7 Псевдокоманды S/390
      • 6.62.8 Псевдокоманды Darwin
      • 6.62.9 Псевдокоманды Solaris
      • 6.62.10 Псевдокоманды переименования символов
      • 6.62.11 Псевдокоманды макета структуры
      • 6.62.12 Псевдокоманды Weak
      • 6.62.13 Псевдокоманды диагностики
      • 6.62.14 Псевдокоманды видимости
      • 6.62.15 Псевдокоманды макросов Push/Pop
      • 6.62.16 Псевдокоманды опций, специфичных для функции
      • 6.62.17 Псевдокоманды, специфичные для циклов
    • 6.63 Неименованные поля структур и объединений
    • 6.64 Локальное хранилище потоков
      • 6.64.1 Изменения ISO/IEC 9899:1999 для локального хранилища потоков
      • 6.64.2 Изменения ISO/IEC 14882:1998 для локального хранилища потоков
    • 6.65 Двоичные константы с префиксом ‘0b’
  • 7 Расширения языка C++
    • 7.1 Когда происходит обращение к объекту C++ volatile?
    • 7.2 Ограничение алиасирования указателей
    • 7.3 Нечеткая привязка
    • 7.4 Псевдокоманды C++ интерфейса и реализации
    • 7.5 Где шаблон?
    • 7.6 Извлечение указателя на функцию из связанного указателя на член-функцию
    • 7.7 Атрибуты C++, специфичные для переменных, функций и типов
    • 7.8 Многоверсионность функций
    • 7.9 Типовые свойства
    • 7.10 Концепции C++
    • 7.11 Устаревшие функции
    • 7.12 Обратная совместимость
  • 8 Функции GNU Objective-C
    • 8.1 API выполнения GNU Objective-C
      • 8.1.1 Современный API выполнения GNU Objective-C
      • 8.1.2 Традиционный API выполнения GNU Objective-C
    • 8.2 +load: Выполнение кода перед main
      • 8.2.1 Что можно и что нельзя делать в +load
    • 8.3 Кодирование типов
      • 8.3.1 Застарелое кодирование типов
      • 8.3.2 @encode
      • 8.3.3 Подписи методов
    • 8.4 Управление памятью
    • 8.5 Объекты постоянных строк
    • 8.6 compatibility_alias
    • 8.7 Исключения
    • 8.8 Синхронизация
    • 8.9 Быстрое перечисление
      • 8.9.1 Использование быстрого перечисления
      • 8.9.2 Синтаксис быстрого перечисления, подобный C99
      • 8.9.3 Подробности быстрого перечисления
      • 8.9.4 Протокол быстрого перечисления
    • 8.10 Обращение к методам с помощью API выполнения GNU Objective-C
      • 8.10.1 Динамическая регистрация методов
      • 8.10.2 Обработчик перенаправления
  • 9 Бинарная совместимость
  • 10 gcov—Программа анализа покрытия кода
    • 10.1 Введение в gcov
    • 10.2 Вызов gcov
    • 10.3 Использование gcov с оптимизацией GCC
    • 10.4 Краткое описание файлов данных gcov
    • 10.5 Перемещение файлов данных для поддержки кросс-профилирования
  • 11 gcov-tool—Инструмент для обработки профилей Gcda в автономном режиме
    • 11.1 Введение в gcov-tool
    • 11.2 Вызов gcov-tool
  • 12 gcov-dump—Инструмент для выгрузки профилей Gcda и Gcno в автономном режиме
    • 12.1 Введение в gcov-dump
    • 12.2 Вызов gcov-dump
  • 13 lto-dump—Инструмент для выгрузки объектных файлов LTO.
    • 13.1 Введение в lto-dump
    • 13.2 Вызов lto-dump
  • 14 Известные причины проблем с GCC
    • 14.1 Фактические ошибки, которые мы ещё не исправили
    • 14.2 Взаимодействие
    • 14.3 Несовместимости GCC
    • 14.4 Зафиксированные заголовочные файлы
    • 14.5 Стандартные библиотеки
    • 14.6 Разочарования и недоразумения
    • 14.7 Распространённые недоразумения с GNU C++
      • 14.7.1 Объявление и определение статических членов
      • 14.7.2 Поиск имён, шаблоны и доступ к членам базовых классов
      • 14.7.3 Временные объекты могут исчезнуть раньше, чем ожидается
      • 14.7.4 Неявная копирующая присваивание для виртуальных баз
    • 14.8 Определённые изменения, которых мы не хотим внести
    • 14.9 Сообщения об ошибках и предупреждения
  • 15 Сообщения об ошибках
    • 15.1 Вы нашли ошибку?
    • 15.2 Как и где сообщать об ошибках
  • 16 Как получить помощь по GCC
  • 17 Содействие развитию GCC
  • Финансирование свободного программного обеспечения
  • Проект GNU и GNU/Linux
  • GNU Общая публичная лицензия
  • GNU Свободная лицензия на документацию
    • ДОПОЛНЕНИЕ: Как использовать эту лицензию для ваших документов
  • Авторы GCC
  • Индекс опций
  • Индекс ключевых слов

Введение

В данном руководстве описано использование GNU компиляторов, их возможности и несовместимости, а также как сообщать об ошибках. Оно соответствует версии компиляторов (GCC) 12.2.0. В отдельном руководстве описаны внутренние механизмы GNU компиляторов, включая портативность на новые платформы и информацию о написании фронтендов для новых языков. См. Введение в GNU Compiler Collection (GCC) Internals.

• G++ и GCC: Вы можете компилировать программы на C или C++.
• Стандарты: Поддерживаемые GCC языковые стандарты.
• Вызов GCC: Поддерживаемые командные опции «gcc».
• Реализация C: Как GCC реализует спецификацию ISO C.
• Реализация C++: Как GCC реализует спецификацию ISO C++.
• Расширения C: Расширения GNU для языка семейства C.
• Расширения C++: Расширения GNU для языка C++.
• Objective-C: Функциональные возможности среды выполнения GNU Objective-C.
• Совместимость: Двоичная совместимость
• Gcov: gcov—программа анализа охвата кода.
• Gcov-tool: gcov-tool—программа обработки профилей gcda автономно.
• Gcov-dump: gcov-dump—инструмент для автономного вывода профилей gcda и gcno.
• lto-dump: lto-dump—инструмент для вывода объектов LTO.
• Проблемы: Если у вас возникли проблемы с использованием GCC.
• Ошибки: Как, почему и где сообщать об ошибках.
• Сервис: Как получить помощь по GCC
• Содействие: Как участвовать в тестировании и разработке GCC.
• Финансирование: Как помочь обеспечить финансирование свободного программного обеспечения.
• Проект GNU: Проект GNU и GNU/Linux.
• Копирование: Общая публичная лицензия GNU описывает, как можно копировать и распространять GCC.
• GNU Свободная лицензия на документацию: Как можно копировать и распространять данное руководство.
• Авторы: Люди, внесшие вклад в разработку GCC.
• Индекс опций: Индекс командных опций.
• Индекс ключевых слов: Индекс понятий и имен символов.

Далее: G++ и GCC [Оглавление][Индекс]

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

Spec-Zone.ru

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