Я знаю, что у вас бывают долгие ночи, когда вы сидите и просто задаетесь вопросом, как работает компиляция файлов. Не смотрите дальше! Я собираюсь разбить его для вас. Итак, давайте начнем с того, как это сделать.
Шаг 1: Откройте терминал
Шаг 2: Откройте emacs или любой другой текстовый редактор, который вы предпочитаете, и напишите исходный код C. Не забудьте сохранить его! Я сохранил свой как hello.c
Шаг 3: Введите команду gcc -o hello hello.c
Все сделано! проверьте, работает ли ваш код, используя ./ (например, ./hello), это должно вывести то, что вы хотели, чтобы ваш скрипт делал.
Давайте немного углубимся в процесс. Итак, у вас есть файл .c, и вы только что выполнили три описанных выше шага, но что он делает на самом деле? Файл .c сначала пройдет через препроцессор. Препроцессор интерпретирует строки вашего скрипта, начинающиеся с #. Он помещает его в простой язык макросов, который имеет собственный синтаксис. Он используется для уменьшения количества повторений в исходном коде.
Затем он переходит к компилятору. Компилятор преобразует исходный код в инструкции по ассемблеру, специфичные для того, каким должен быть язык целевого процессора.
Дальше сборка. На этом этапе он изменяет весь исходный код на машинный код, известный как двоичные единицы и нули, чтобы машина могла его прочитать.
Последнее, но не менее важное — это линкер. На этапе сборки часть программы смешивается, выходит из строя или отсутствует. Этап компоновки проходит через библиотеки и перестраивает объектный код так, чтобы все функции работали. Это затем создает и ИСПОЛНЯЕМЫЙ ФАЙЛ!!