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. В этом руководстве документирована только одна из этих двух форм, которая не является значением по умолчанию.
См. Индекс параметров для индекса параметров 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-6.5.0/gcc/Invoking-GCC.html