3 Опции командной строки GCC
При вызове GCC он обычно выполняет предварительную обработку, компиляцию, ассемблирование и линковку. «Общие опции» позволяют остановить этот процесс на промежуточной стадии. Например, опция -c указывает на отказ от запуска линковщика. Тогда выходные данные состоят из объектных файлов, выводимых ассемблером.
Другие опции передаются одной стадии обработки. Некоторые опции управляют предварительной обработкой, а другие самим компилятором. Другие опции управляют ассемблером и линковщиком; большинство из них не документированы здесь, так как вам редко нужно использовать какие-либо из них.
Большинство командных опций, которые вы можете использовать с GCC, полезны для программ на C; когда опция полезна только с другим языком (обычно C++), это будет явно указано в описании. Если в описании конкретной опции не упоминается язык исходного кода, вы можете использовать эту опцию со всеми поддерживаемыми языками.
См. Компиляция программ на C++, для краткого описания специальных опций для компиляции программ на C++.
Программа gcc принимает опции и имена файлов в качестве операндов. Многие опции имеют многобуквенные имена; поэтому несколько однобуквенных опций не могут быть сгруппированы: -dv сильно отличается от ‘-d -v’.
Вы можете смешивать опции и другие аргументы. В основном, порядок не имеет значения. Порядок имеет значение, когда вы используете несколько опций одного типа; например, если вы указываете -L более одного раза, каталоги ищутся в указанном порядке. Также важно расположение опции -l.
Многие опции имеют длинные имена, начинающиеся с ‘-f’ или с ‘-W’—например, -fmove-loop-invariants, -Wformat и так далее. Большинство из них имеют положительную и отрицательную формы; отрицательная форма -ffoo — -fno-foo. В этом руководстве документируется только одна из этих двух форм, та, которая не является по умолчанию.
См. Индекс опций для индекса опций GCC.
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-4.9.4/gcc/Invoking-GCC.html