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

Во-первых, процесс программирования для большинства языков программирования одинаков. Программирование — это искусство написания программного обеспечения. Программное обеспечение управляет аппаратным обеспечением, которое является физической частью электронного устройства, такого как компьютер, телефон, микроконтроллер или какая-либо другая штуковина. Для создания программного обеспечения вы используете язык программирования, такой как C, это ваш инструмент, язык программирования.

Вы используете язык программирования для написания файла исходного кода. Это обычный текстовый документ, содержащий инструкции языка программирования. Содержимое текстового файла записывается на языке программирования с использованием правил, синтаксиса и форматирования языка. Инструкции компилируются, что переводит их в то, что называется объектным кодом. Объектный код связывается с другими файлами, программными библиотеками и, возможно, другими файлами объектного кода для построения окончательной программы.

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

Далее, давайте распакуем, что происходит, когда вы вводите gcc main.c в командную строку (терминал)? GCC означает коллекцию компиляторов GNU и представляет собой систему компилятора, созданную проектом GNU, которая поддерживает различные языки программирования, такие как C.

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

Все программы на C имеют главную функцию. Любые написанные пользовательские функции также появляются в исходном коде вместе с основной функцией. Предложение синтаксиса языка C — это оператор, оканчивающийся точкой с запятой. Операторы выполняются один за другим сверху вниз, как написано в файле исходного кода. Несколько операторов группируются в блоки с помощью скобок или фигурных скобок. Чтобы на самом деле выполнить программу C, ее сначала нужно скомпилировать.

Мы начинаем с нашего исходного файла, в данном случае он называется main.c, где расширение .c обозначает файл c. В частности, существует четыре этапа компиляции программы на C: предварительная обработка, компиляция, сборка и компоновка.

Этап №1 — Препроцессинг

Препроцессор C предназначен не столько для написания кода, сколько для подготовки файла исходного кода к компиляции. Препроцессор использует различные директивы, которые выполняются перед компиляцией исходного кода. Разнообразие директив препроцессора насчитывает около 12. Из них только две, include и define, используются регулярно. За директивами Include следует имя файла, который вставляется в исходный код в этом месте. Файл часто является файлом заголовка, который содержит прототипы функций, объявления переменных, макросы и другие определения, которые помогают функциям, определенным в файле заголовка.

Этап №2 — Сборка

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

Этап №3 — Сборка

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

Этап №4 — Связывание

Во время компоновки объектный файл передается компоновщику, который создает исполняемый файл. У нас может быть несколько исходных файлов, которые затем скомпилированы для создания их объектных файлов, а затем несколько файлов могут быть загружены в компоновщик вместе для создания одного исполняемого файла.

Вот как работает процесс. Пишите, создавайте и запускайте, тестируйте снова и снова, добро пожаловать на язык программирования C.