Что такое GCC?

Сборник компиляторов GNU (GCC) — это системный компилятор, широко применяемый в качестве инструмента при разработке бесплатного и проприетарного программного обеспечения, созданный в рамках проекта GNU для поддержки различных языков программирования и являющийся ключевым компонентом цепочки инструментов GNU и стандартным компилятором для большинство проектов, связанных с GNU и Linux, включая ядро ​​Linux.

Помимо того, что он является официальным компилятором операционной системы GNU, GCC был принят в качестве стандартного компилятора многими другими современными компьютерными операционными системами типа Unix, включая Linux и семейство BSD. Также доступны версии для Microsoft Windows и других операционных систем; GCC может компилировать код для Android и iOS.

Синтаксис:
gcc [опция | архив ] …

Параметры:
- c: выполняет препроцессинг и компиляцию, получая файл в объектном коде; Не связывает.
- E: Выполняет только предварительную обработку, отправляя результат на стандартный вывод.
-o файл: указывает имя выходного файла, независимо от завершенных этапов.
- Маршрут: указывает путь к каталогу, в котором находятся файлы, помеченные для включения в исходную программу. Не требует пробела между I и маршрутом, например: -I /usr/include
-L: указывает путь к каталогу, в котором находятся файлы библиотеки с кодом объект функций, на которые ссылается исходная программа. Не требует пробела между L и маршрутом, например: -L /usr/lib
-Wall: показывает все сообщения об ошибках и предупреждениях компилятора, даже некоторые сомнительные, но в конечном итоге легко избежать, тщательно написав код.
-g: включает в сгенерированный исполняемый файл необходимую информацию, чтобы иметь возможность отслеживать ошибки с помощью отладчика, такого как GDB (GNU Debugger) .
-v: показывает команды, выполняемые на каждом этапе компиляции, и версию компилятора. Это очень подробный отчет.

Вот что происходит, когда вы вводите gcc main:

Когда вы вызываете GCC, он обычно выполняет препроцессинг, компиляцию, сборку и линковку, без каких-либо ограничений, так как «общие опции», позволяющие остановить этот процесс на промежуточном этапе, не используются. Например, — E: Выполняет только предварительную обработку, отправляя результат на стандартный вывод.

gcc main.c