Введение / Зачем это нужно
Компилирование C-кода — это первый шаг к созданию исполняемых программ на Linux. Даже небольшие проекты требуют корректной сборки, чтобы избежать ошибок запуска. В этом гайде вы получите пошаговую инструкцию по установке инструментов компиляции, созданию исходного файла, его сборке и запуску результата. После выполнения всех шагов у вас будет готовый рабочий процесс для любого C-проекта.
Требования / Подготовка
- Операционная система: Ubuntu 22.04, Debian 11, Fedora 38 или Arch Linux (любая современная дистрибутива).
- Права пользователя: Необходимы права администратора (
sudo), чтобы устанавливать пакеты. - Свободное место: ~50 МБ для компилятора и стандартных библиотек.
- Базовые знания: Понимание основ языка C (переменные, функции, циклы) поможет лучше понять процесс сборки.
Пошаговая инструкция
Шаг 1: Установить необходимые инструменты
На Debian-основанных системах выполните:
sudo apt update && sudo apt install build-essential
На Fedora:
sudo dnf groupinstall 'Development Tools'
На Arch Linux:
sudo pacman -S base-devel
Эти команды установят GCC, make, make‑info и другие необходимые утилиты.
Шаг 2: Создать исходный файл
Откройте текстовый редакатор и создайте файл hello.c. Вставьте простую «приветственную» программу:
#include <stdio.h>
int main() {
printf("Привет, мир!\n");
return 0;
}
Сохраните файл и выйдите из редактора.
Шаг 3: Скомпилировать код
Откройте терминал в каталоге с файлом hello.c и выполните команду компиляции:
gcc hello.c -o hello
По умолчанию компилятор выдаёт исполняемый файл hello. Для ускорения программы можно добавить оптимизацию:
gcc hello.c -O2 -o hello
Шаг 4: Запустить программу
Сделайте исполняемый файл доступным для запуска:
chmod +x hello
Затем запустите его:
./hello
Вы должны увидеть строку Привет, мир!.
Шаг 5: Очистить временные файлы
По завершении разработки удалите скомпилированный бинарник:
rm -f hello
Если вы использовали Makefile, выполните make clean.
Проверка результата
- Список файлов: Проверьте наличие
hello.cиhello. - Вывод: Запустите программу и убедитесь, что вывод соответствует ожидаемому.
- Проверка ошибок: Если компилятор выдаёт ошибки, проверьте синтаксис, наличие включений и правильность путей.
Возможные проблемы
⚠️ Важно: Все приведённые решения работают на стандартных дистрибутивах. На пользовательских сборках могут отличаться имена пакетов.
gcc: command not found– компилятор не установлен. Повторите шаг установки инструментов.undefined reference to ‘main’– в файле отсутствует функцияmainили используется неправильный файл. Убедитесь, что компилируется тот исходник, который вы редактировали.relocation error: cannot read– исполняемый файл собран для другой архитектуры (например, при кросс-компиляции). Переустановите компилятор нативной архитектуры или добавьте правильные флаги.make: *** No rules to make target– файлMakefileотсутствует или имеет синтаксические ошибки. Проверьте правила или создайте минимальный файл, если не нуженmake.
Эти ошибки часто возникают у новичков; их быстро устранить, следуя шагам выше. Если проблема не решена, проверьте установку пакетов и переменные окружения (PATH, LD_LIBRARY_PATH).