Мова C — одна з найстаріших і найвпливовіших мов програмування, а система Linux значною мірою написана саме нею. Скомпілювати першу програму на C у Linux просто: потрібні компілятор gcc, один текстовий файл і дві команди. Як приклад візьмемо класичну програму Hello World. Компілятор — це програма, яка перетворює написаний вами текст на програму, зрозумілу комп’ютеру.
Крок 1. Встановіть gcc
Відкрийте термінал (вікно, в яке вводять команди) і виберіть команду для вашої системи:
# Ubuntu, Linux Mint, Debian
sudo apt update
sudo apt install build-essential
# Fedora
sudo dnf install gcc
Команда sudo просить пароль вашого облікового запису. Символи під час набору не показуються, це нормально. Пакет build-essential містить gcc та інші потрібні інструменти.
Перевірте, чи все встановилося:
gcc --version
Крок 2. Створіть файл з програмою
Створіть теку для експериментів і відкрийте текстовий редактор nano:
mkdir ~/c-test
cd ~/c-test
nano hello.c
У редакторі введіть такий код:
#include <stdio.h>
int main(void)
{
printf("Привіт, світе!\n");
return 0;
}
Збережіть файл (Ctrl+O, Enter) і вийдіть з редактора (Ctrl+X). Можна скористатися й будь-яким іншим редактором, наприклад, «Текстовим редактором» чи Kate.
Що тут написано
#include <stdio.h>підключає стандартні функції введення й виведення.int main(void)— це точка входу: звідси починається програма.printf(...)друкує текст на екрані, а\nозначає перехід на новий рядок.return 0;повідомляє системі, що програма закінчилась без помилок.
Крок 3. Скомпілюйте
gcc hello.c -o hello
Команда збирає файл hello.c у готову програму з назвою hello, вказаною після -o. Якщо все гаразд, компілятор нічого не виводить, а в теці з’являється новий файл.
Крок 4. Запустіть
./hello
Ви побачите рядок Привіт, світе!. Крапка зі скісною рискою ./ означає «запустити з поточної теки». Без неї система шукатиме програму лише в системних теках і нічого не знайде.
Поширені запитання
gcc: command not found
Компілятор не встановлено. Виконайте команду з кроку 1.
fatal error: stdio.h: No such file or directory
Не вистачає стандартних заголовків. У Ubuntu і Debian встановіть build-essential, у Fedora — glibc-devel.
Permission denied під час запуску
Ви, імовірно, написали hello без ./ або спробували запустити сам файл hello.c. Запускайте ./hello.
Помилка «expected ; before ...»
Зазвичай це пропущена крапка з комою наприкінці рядка. Перегляньте номер рядка, який показує gcc.
Порада від Kernelka
Додайте до команди параметр -Wall, наприклад, gcc -Wall hello.c -o hello. Тоді компілятор попереджатиме про підозрілі місця в коді, і ви швидше вчитиметеся писати акуратно.
Підсумок
- Для C потрібен компілятор gcc:
sudo apt install build-essentialабоsudo dnf install gcc. - Програму пишуть у файлі з розширенням
.c. - Компіляція:
gcc hello.c -o hello. - Запуск:
./hello. - Параметр
-Wallпоказує корисні попередження.