Spec-Zone.ru › GCC 15

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

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

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

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

Обычно GCC запускают с помощью исполняемого файла с именем gcc, при кросс-компиляции — machine-gcc, а для запуска определённой версии GCC — machine-gcc-version. При компиляции программ на C++ следует вместо этого вызывать GCC как g++. Сведения о различиях в поведении gcc и g++ при компиляции программ на C++ см. в разделе Компиляция программ на 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++
  • Параметры, управляющие OpenMP и OpenACC
  • Параметры форматирования диагностических сообщений
  • Параметры включения и подавления предупреждений
  • Параметры управления статическим анализом
  • Параметры отладки программы
  • Параметры управления оптимизацией
  • Параметры инструментирования программы
  • Параметры управления препроцессором
  • Передача параметров ассемблеру
  • Параметры компоновки
  • Параметры поиска каталогов
  • Параметры соглашений о генерации кода
  • Параметры GCC для разработчиков
  • Параметры, зависящие от целевой машины
  • Указание подпроцессов и передаваемых им параметров
  • Переменные среды, влияющие на GCC
  • Использование предварительно скомпилированных заголовков
  • Модули C++

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

Spec-Zone.ru

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