Навчання програмуванню в linux на прикладі інтегрованого середовища розробки geany частина и роботи

В даній статті розповідається, як почати роботу в Geany, як налаштувати деякі параметри для поліпшення функціональності і забезпечення зручності, як написати, відкомпілювати і виконати просту програму на мові С. В наступних частинах циклу буде розглянуто застосування Geany для створення і супроводу більш складних проектів на різних мовах програмування (Python, FreePascal і т.д.).

Слід зазначити, що Geany розпізнає і виконує підсвічування синтаксису для більш ніж 40 (!) Мов програмування, розмітки і скриптових мов, таких як C / C ++, Python, Java, PHP, HTML, Pascal, Perl, Basic та ін. Крім того, в ній підтримується згортка фрагментів коду, автозавершення символьних імен і мовних конструкцій, автозакритіем тегів XML і HTML, списки символів, тут є підсистема складання для компіляції і виконання коду, а також прості засоби управління проектами. І, звичайно ж, Geany використовує модулі (plugin-и) для нарощування функціональності.

Приступаємо до роботи

У статті ми розглядаємо версію 0.16 "Argon", яка є стабільною і коректно локалізованої, а крім того, входить до складу багатьох популярних дистрибутивів у вигляді стандартного пакета або без праці знаходиться в репозиторії відповідного дистрибутива, тому при її установці не повинно виникнути ніяких проблем ( за умови, що у вас встановлені раніше згадані runtime-бібліотеки GTK2). Питання інсталяції не належать до розглянутої нами теми, тому будемо вважати, що програма Geany вже присутній в системі і готова до роботи, і приступимо до її вивчення.

Після запуску на робочому столі з'являється вікно Geany, показане на малюнку 1.

Малюнок 1. Вікно програми Geany відразу після запуску

Навчання програмуванню в linux на прикладі інтегрованого середовища розробки geany частина и роботи

Hello, World!

Відверто кажучи, мені не подобається загальноприйнятий спосіб подачі інформації при вивченні нових програм, коли після загальної характеристики і показу зовнішнього вигляду починається послідовне опис всіх пунктів меню і всіх кнопок на панелі інструментів. При відсутності відкритих файлів і проектів це дуже нудне заняття, тим більше, що багато елементів є типовими: цілком очевидно, для чого потрібні пункти меню "Файл", "Правка", "Пошук" або кнопки "Створити новий", "Відкрити", "Зберегти" і т.п. А ось нюанси їх використання в даній конкретній програмі все-таки краще вивчати на практиці, тобто створюючи файли вихідного коду. Тому відразу перейдемо до живого прикладу.

Тут ми знову порушимо традиції. Замість неабияк набридлої "Hello, World" (пробний камінь для всіх початківців) напишемо на мові C просте додаток, що виводить в консолі деякі системні характеристики - скільки часу пройшло з моменту завантаження системи і скільки часу з тих пір система перебувала в неактивному стані. Ці дані можна отримати з файлу / proc / uptime, але вони відображаються в секундах і представлені числами з плаваючою точкою. Наше завдання - змінити формат виведення на більш зручний для людського сприйняття.

Створимо новий проект: виберемо в меню пункт "Проект" і далі в меню пункт "Новий". Після цього на екрані відображається діалогове вікно "Новий проект".

Ім'я проекту дамо відповідне - sys_times. За замовчуванням Geany пропонує розміщувати файли з вихідними кодами в каталозі з іменем "проекти", розташованим в домашньому каталозі поточного користувача. Для навчальних цілей цілком підходить. Втім, ви можете змінити розташування проекту, відредагувавши поля "Файл" і "Шлях до каталогу" або натиснувши кнопки праворуч від цих полів і вибравши необхідний каталог. В даному прикладі (малюнок 2) замінимо ім'я підкаталогу "проекти" на "projects" і в полі "Ім'я" введемо ім'я нового проекту "sys_times" (лапки вводити не треба):

Малюнок 2. Виправлення імені каталогу проектів і введення імені нового проекту в діалоговому вікні

Навчання програмуванню в linux на прикладі інтегрованого середовища розробки geany частина и роботи

Тепер можна клацнути по кнопці "Створити". А якщо вам раптом щось не сподобалося, то скористайтеся кнопкою "Скасувати" і повторіть описаний вище процес створення нового проекту.

Якщо у вас, так само як у мене, раніше не було каталогу projects в домашній папці, то ви побачите наступне повідомлення (рисунок 3).

Малюнок 3. Запит на підтвердження створення каталогу проекту

Навчання програмуванню в linux на прикладі інтегрованого середовища розробки geany частина и роботи

Зрозуміло, ми хочемо створити цей каталог, тому клацаємо по кнопці "OK". Сумніваються знову-таки можуть відмовитися від продовження операції.

Після натискання кнопки "OK" створюється відчуття, що нічого не сталося і нічого не змінилося, але повідомлення в нижній панелі "Статус" та в рядку стану заспокоюють - проект створений (рисунок 4).

Малюнок 4. Повідомлення про створення нового проекту sys_times

Навчання програмуванню в linux на прикладі інтегрованого середовища розробки geany частина и роботи

Так як наш файл в проекті за замовчуванням названий "Безіменний", його тип спочатку визначений як "Ніякої", і текст, що вводиться не підсвічується. Це можна виправити, вибравши в меню "Документ" пункт "Встановити тип файлу" і далі в підменю "Мови програмування" та "Вихідний файл С". Тепер можна приступити до введення вихідного коду програми (рисунок 5).

Малюнок 5. Вихідний код програми після установки типу файлу

Навчання програмуванню в linux на прикладі інтегрованого середовища розробки geany частина и роботи

Зверніть увагу на стовпець з номерами рядків уздовж лівого краю панелі введення вихідного коду. Нумерація рядків уже давно стала стандартною функцією будь-інтегрованого середовища розробки. Якщо в цьому немає необхідності або потрібне додаткове робоче простір, то стовпець з номерами рядків можна приховати: меню "Вид" -> "Показувати номери рядків" (цей пункт працює як перемикач; галочкою відзначено активізацію нумерації рядків).

Рядок 6 містить директиву препроцесора, що повідомляє про необхідність включення зазначеного файлу в код даної програми.

Функція main повертає ціле число (тип int). Це код статусу завершення програми, який застосовується в усіх Unix-подібних системах. Нульовий код означає нормальне завершення програми, а будь-яке число, відмінне від нуля, повідомляє про те, що виконання програми було перервано через виниклу "позаштатної ситуації" (для простоти будь-яка ситуація, яка веде до екстреного завершення програми, позначається як "помилка" - "error").

Рядок 13 - тіло будь-якої функції починається з відкриває фігурної дужки

Малюнок 6. Панель параметрів настройки робочого середовища Geany

Навчання програмуванню в linux на прикладі інтегрованого середовища розробки geany частина и роботи

Після того як звичний для вас відступ встановлений, необхідно відкрити меню "Документ" і перевірити, активізований чи пункт "автовідступ" (повинен бути відзначений галочкою). Після активізації цього пункту вводиться код форматуватиметься відповідно до ваших настройками.

Далі в рядках 18-23 виконуються операції відкриття файлу, читання з нього даних і закриття файлу. Рядки 26 і 27 містять виклики функції print_times, яку ми оголосили в рядку 9, але поки ще не написали.

У рядку 31 розташована фігурна дужка, що закриває тіло основної функції main. Отже, основа нашої програми створена.

Тепер потрібно написати функцію, що викликається print_times. На самому початку її визначаються три константи, необхідні для обчислень, потім за допомогою стандартної бібліотечної функції printf виконується висновок результатів.

Щоб виконана нами робота не пропала, слід її зберегти. Як ви пам'ятаєте, ми вже визначили каталог проекту, в якому будуть зберігатися всі наші файли. Залишилося тільки виконати команду збереження і дати ім'я все ще "безіменному" файлу.

Для цього скористаємося кнопкою збереження поточного файлу в панелі інструментів (значок дискети) або звернемося до меню "Файл" -> "Зберегти" (комбінація клавіш Ctrl + S).

Виводиться діалогове вікно збереження файлу, як показано на малюнку 7.

Малюнок 7. Діалогове вікно збереження файлу із зазначенням його імені і місця збереження

Навчання програмуванню в linux на прикладі інтегрованого середовища розробки geany частина и роботи

В панелі "Ім'я" введіть ім'я файлу - disp_times.c. Якщо каталог проекту поки ще відсутня, то створіть його за допомогою кнопки "Створити папку". Потім увійдіть в каталог проекту sys_times, потім натисніть кнопку "Зберегти". Після успішного збереження файлу можна завершити наш перший робочий сеанс в програмному середовищі розробки Geany. Втім, ми відразу ж повертаємося - адже робота ще не завершена: вихідний файл потрібно відкомпілювати і перевірити, як він працює. Тому знову запускаємо Geany.

Продовжуємо роботу (компіляція і запуск зібраного застосування)

Після повторного запуску нас зустрічають вже не порожнім вікном введення і файлом "без імені". Geany запам'ятав стан на момент виходу і повністю відновив його при поверненні, тому ми можемо без зволікання продовжити роботу (малюнок 8).

Малюнок 8. Вікно Geany після повторного запуску і відновлення робочого середовища

Навчання програмуванню в linux на прикладі інтегрованого середовища розробки geany частина и роботи

Зверніть увагу на ліву панель, де на вкладці "Теги" позначена група "Функції", що включає всі імена функцій, використовуваних в програмі, із зазначенням в круглих скобах номерів рядків, в яких вони зустрічаються (малюнок 9).

Малюнок 9. Вміст вкладки "Теги" в лівій панелі

Навчання програмуванню в linux на прикладі інтегрованого середовища розробки geany частина и роботи

Малюнок 9а. Вміст вкладки "Документи" в лівій панелі

Навчання програмуванню в linux на прикладі інтегрованого середовища розробки geany частина и роботи

На вкладці "Документи" вказано єдиний файл нашого маленького проекту disp_times.c.

Тепер ми можемо створити виконувану програму і перевірити її функціонування. Для цього скористаємося пунктом меню "Збірка". У випадаючому підменю перші два пункти - "Скомпілювати" і "Збірка". В результаті виконання першої команди ми отримаємо з файлу вихідного коду об'єктний файл, який, хоча і є двійковим кодом, все ж не готовий до самостійного виконання. Подібна команда необхідна в тому випадку, коли проект складається з багатьох вихідних файлів, часто написаних на різних мовах програмування. Для нашого проекту більше підходить пункт "Збірка", що дозволяє відразу отримати необхідний результат. Збірку можна виконати і одним натисканням функціональної клавіші F9 (вона вказана праворуч від даного пункту підміню). Після виконання цієї операції (якщо, звичайно, у вихідному коді не було помилок і друкарських помилок) нижня панель автоматично перемикається на вкладку "Компілятор" і повідомляє про успішне завершення процесу складання програми (рисунок 10).

Малюнок 10. Повідомлення компілятора, виведені в нижній панелі

Навчання програмуванню в linux на прикладі інтегрованого середовища розробки geany частина и роботи

Залишається лише подивитися, як працює наша програма. Запустити її можна різними способами: з меню "Збірка" -> "Виконати", функціональною клавішею F5 або клацанням по значку шестерінки з трикутником всередині на панелі інструментів. Для виведення результатів відкривається окреме вікно терміналу, як показано на малюнку 11.

Малюнок 11. Висновок результатів виконання програми

Навчання програмуванню в linux на прикладі інтегрованого середовища розробки geany частина и роботи

висновок