Чтобы ответить на вопрос заголовка, вы должны спросить себя: «Что такое gcc?» и «что такое main c?»

  • Что такое gcc?

GCC, также известная как коллекция компиляторов GNU, представляет собой систему компилятора, созданную проектом GNU. GCC может поддерживать языки мультипрограммирования, такие как C, C++, Fortran и так далее. Большинство Unix-подобных операционных систем используют gcc в качестве стандартного компилятора.

  • Что такое main.c?

«main.c» — это в основном типичный исходный файл C. Большинство исходных файлов C имеют в конце расширение .c. Вы можете легко создать исходный файл C с помощью текстовых редакторов, таких как emacs, vi, vim, nano и т. д. В приведенном ниже примере используется emacs для создания исходного файла C с именем «main».

emacs main.c

При использовании gcc для исходного файла C, например, «gcc main.c» поможет операционной системе скомпилировать и создать исполняемый двоичный файл. Однако перед созданием полного исполняемого файла необходимо выполнить несколько шагов.

  1. Препроцессор

На первом этапе исходный файл обрабатывается препроцессором. Он берет коды ваших файлов и преобразует их в другие исходные коды. В этом процессе препроцессор удалит все, что ему не нужно (например, комментарии), и преобразует нужные. Он начинается с символа # (#include) и интерпретирует его.

мы используем флаг -E для остановки после предварительной обработки:

gcc -E main.c

2. Компилятор

На втором этапе компилятор будет использовать ваш предварительно обработанный код и преобразовать его в наборы языка ассемблера. Он изменит файл «main.c» на файл с именем «main.s».

На этом шаге будет использоваться флаг -S:

gcc -S main.c

3. Ассемблер

Имея наборы на ассемблере, компилятор соберет их и преобразует в двоичные файлы. На этом шаге все расширения исходных файлов C будут изменены на расширение .s.

Параметр -c используется для компиляции исходников без компоновки.

gcc -c main.c

4. Линкер

На последнем шаге весь двоичный код файла будет взят и скомпонован для создания полного исполняемого файла.

Для этого можно использовать приведенную ниже команду:

gcc [source file name] -o [output file name]

И убедиться, что весь ваш код проверяется опцией -Wall gcc для распознавания всех ошибок в вашем файле.

gcc -Wall [source file]

Для получения дополнительной информации вы можете выполнить поиск в «man gcc», чтобы прочитать его описание и параметры.