Створення простої програми “Hello, world!”

Це другий розділ серії статей “Hello, world!” для OpenWrt. На цьому етапі ви вже повинні були виконати такі дії:

  • Підготували середовище розробки
  • Налаштували та зібрали інструменти та крос-компілятор
  • Додали директорію інструментів до змінної середовища `PATH`

Якщо ви пропустили один або кілька із зазначених кроків — поверніться до попередніх розділів.

Хороша практика в розробці ПЗ — розділяти компоненти за відповідальністю, залишаючи лише мінімально необхідні точки взаємодії між ними. Цей підхід називається поділом обов'язків (separation of concerns).

Щоб дотримуватись цього принципу, ми помістимо вихідний код нашої програми в окрему директорію, що не пов’язана напряму з системою збірки OpenWrt. Назвемо директорію `helloworld` та створимо її в домашній директорії користувача розробника:

cd /home/buildbot
mkdir helloworld
cd helloworld

Тепер створимо єдиний файл з вихідним кодом для нашої програми — `helloworld.c`:

touch helloworld.c

Використовуючи ваш улюблений текстовий редактор, вставте в новостворений файл такий вміст:

helloworld.c
#include <stdio.h>
 
int main(void)
{
    printf("\nHello, world!\n\n");
    return 0;
}

Після створення файлу з кодом, перевіримо, чи можемо зібрати й запустити програму за допомогою звичайних інструментів компіляції, доступних у середовищі розробки:

gcc -c -o helloworld.o helloworld.c -Wall
gcc -o helloworld helloworld.o

Перша команда компілює `helloworld.c` у об'єктний файл, а друга — створює звязки з потрібними бібліотеками та стартовими файлами, створюючи виконуваний файл `helloworld`.

Запустіть програму:

./helloworld

У відповідь має з’явитися текст: `Hello, world!`

Якщо ви не побачили цього повідомлення або виникли помилки — перевірте правильність вмісту файлу `helloworld.c`, а також наявність компілятора `gcc` у вашій системі.

У цьому розділі ми створили просту виконувану програму за допомогою вбудованих інструментів компіляції вашого середовища. Також ми торкнулися однієї з фундаментальних концепцій розробки ПЗ — поділу обов'язків.

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
  • Last modified: 2025/05/25 17:12
  • by vazaz