Spec-Zone.ru › GCC 13

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.

  • Обзор параметров
  • Параметры, определяющие вид вывода
  • Компиляция программ на C++
  • Параметры, управляющие диалектом C
  • Параметры, управляющие диалектом C++
  • Параметры, управляющие диалектами Objective-C и Objective-C++
  • Параметры для управления форматированием сообщений диагностики
  • Параметры для запроса или подавления предупреждений
  • Параметры, которые управляют статическим анализом
  • Параметры отладки программы
  • Параметры, управляющие оптимизацией
  • Параметры инструментации программы
  • Параметры предварительной обработки
  • Передача параметров ассемблеру
  • Параметры компоновки
  • Параметры поиска каталогов
  • Параметры конвенций генерации кода
  • Параметры разработчика GCC
  • Машинно-зависимые параметры
  • Указание подпроцессов и параметров для их передачи
  • Переменные среды, влияющие на GCC
  • Использование предварительно скомпилированных заголовков
  • Модули C++

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

Spec-Zone.ru

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