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