Spec-Zone.ru › GCC 9

3 Параметры командной строки GCC

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

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

Большинство параметров командной строки, которые вы можете использовать с GCC, полезны для программ на C; если параметр полезен только с другим языком (обычно C++), об этом прямо говорится в описании. Если в описании для конкретного параметра не указан исходный язык, вы можете использовать этот параметр со всеми поддерживаемыми языками.

Обычно GCC запускается, выполняя исполняемый файл gcc, или machine-gcc при кросс-компиляции, или machine-gcc-version для запуска определенной версии GCC. При компиляции программ C++ вы должны вызвать GCC как g++ вместо этого. См. Компиляция программ C++ для получения информации о различиях в поведении между gcc и g++ при компиляции программ C++.

Программа gcc принимает параметры и имена файлов в качестве операндов. Многие параметры имеют многобуквенные имена; поэтому несколько однобуквенных параметров не могут быть объединены: -dv сильно отличается от -d -v.

Вы можете смешивать параметры и другие аргументы. По большей части, порядок не имеет значения. Порядок имеет значение, когда вы используете несколько параметров одного типа; например, если вы указываете -L более одного раза, каталоги просматриваются в указанном порядке. Также важно расположение параметра -l.

Многие параметры имеют длинные имена, начинающиеся с ‘-f’ или с ‘-W’ — например, -fmove-loop-invariants, -Wformat и так далее. Большинство из них имеют положительные и отрицательные формы; отрицательная форма -ffoo — это -fno-foo. В данном руководстве документируется только одна из этих двух форм, та, которая не является стандартной.

Некоторые параметры принимают один или несколько аргументов, обычно разделенных пробелом или знаком равенства (‘=’) от имени параметра. Если не указано иное, аргумент может быть либо числовым, либо строковым. Числовые аргументы обычно должны быть небольшими целыми десятичными или шестнадцатеричными числами. Шестнадцатеричные аргументы должны начинаться с префикса ‘0x’. Аргументы для параметров, которые задают порог размера какого-либо типа, могут быть произвольно большими десятичными или шестнадцатеричными целыми числами, за которыми следует суффикс размера байта, обозначающий кратность байт, такие как kB и KiB для килобайта и кибибайта соответственно, MB и MiB для мегабайта и мебибайта, GB и GiB для гигабайта и гибибайта и так далее. Такие аргументы обозначаются как byte-size в тексте. Обратитесь к стандартам NIST, IEC и другим соответствующим национальным и международным стандартам для полного списка и объяснения двоичных и десятичных префиксов размера байта.

См. Индекс параметров для получения списка параметров GCC.

• Краткое описание параметров: Краткий список всех параметров без объяснений.
• Общие параметры: Управление типом вывода: исполняемый файл, объектные файлы, файлы сборщика или исходный файл после предварительной обработки.
• Вызов G++: Компиляция программ C++.
• Параметры диалекта C: Управление вариантом языка C, который подлежит компиляции.
• Параметры диалекта C++: Вариации C++.
• Параметры диалекта Objective-C и Objective-C++: Вариации Objective-C и Objective-C++.
• Параметры форматирования сообщений об ошибках: Управление форматированием диагностических сообщений.
• Параметры предупреждений: Насколько придирчивым должен быть компилятор?
• Параметры отладки: Генерация отлаживаемого кода.
• Параметры оптимизации: Сколько оптимизации?
• Параметры инструментирования: Включение профилирования и дополнительной проверки ошибок во время выполнения.
• Параметры предварительной обработки: Управление заголовочными файлами и определениями макросов. Также получение информации о зависимостях для Make.
• Параметры сборщика: Передача параметров сборщику.
• Параметры компоновки: Указание библиотек и т. д.
• Параметры каталогов: Где искать заголовочные файлы и библиотеки. Где искать исполняемые файлы компилятора.
• Параметры генерации кода: Указание соглашений для вызовов функций, структуры данных и использования регистров.
• Параметры для разработчиков: Печать информации о конфигурации GCC, статистических данных и отладочных дампах.
• Параметры подмодели: Параметры, специфичные для целевой платформы, такие как компиляция для определенного варианта процессора.
• Файлы спецификаций: Как передавать переключатели дочерним процессам.
• Переменные среды: Переменные среды, которые влияют на GCC.
• Предварительно скомпилированные заголовки: Компиляция заголовка один раз и использование его много раз.

Далее: Реализация C, Предыдущее: Стандарты, Вверх: Верх [Оглавление][Индекс]

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

Spec-Zone.ru

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