Я знаю, что у вас бывают долгие ночи, когда вы сидите и просто задаетесь вопросом, как работает компиляция файлов. Не смотрите дальше! Я собираюсь разбить его для вас. Итак, давайте начнем с того, как это сделать.

Шаг 1: Откройте терминал

Шаг 2: Откройте emacs или любой другой текстовый редактор, который вы предпочитаете, и напишите исходный код C. Не забудьте сохранить его! Я сохранил свой как hello.c

Шаг 3: Введите команду gcc -o hello hello.c

Все сделано! проверьте, работает ли ваш код, используя ./ (например, ./hello), это должно вывести то, что вы хотели, чтобы ваш скрипт делал.

Давайте немного углубимся в процесс. Итак, у вас есть файл .c, и вы только что выполнили три описанных выше шага, но что он делает на самом деле? Файл .c сначала пройдет через препроцессор. Препроцессор интерпретирует строки вашего скрипта, начинающиеся с #. Он помещает его в простой язык макросов, который имеет собственный синтаксис. Он используется для уменьшения количества повторений в исходном коде.

Затем он переходит к компилятору. Компилятор преобразует исходный код в инструкции по ассемблеру, специфичные для того, каким должен быть язык целевого процессора.

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

Последнее, но не менее важное — это линкер. На этапе сборки часть программы смешивается, выходит из строя или отсутствует. Этап компоновки проходит через библиотеки и перестраивает объектный код так, чтобы все функции работали. Это затем создает и ИСПОЛНЯЕМЫЙ ФАЙЛ!!