Роздрукувати сторінку
Главная \ Методичні вказівки \ Методичні вказівки \ 5197 Лабораторна робота №3 на тему Основні прийоми програмування на C в Linux, Операційні системи

Лабораторна робота №3 на тему Основні прийоми програмування на C в Linux, Операційні системи

« Назад

Мета: Оволодіння практичними навичками щодо програмування на C в Linux; розвиток інженерного мислення студентів у галузі операційних систем та системного програмування.

Теоретичні відомості:

Найпростіший варіант застосування утиліти gcc:

gcc <sourcefiles>

Файли з початковими текстами, перелічені у списку sourcefiles, будуть зкомпільовані та зкомпоновані у виконуваний файл a.out.

Ім’я результуючого виконуваного файлу можна призначити за допомогою опції -o. Наприклад, результатом виконання командного рядка

gcc –o prog <sourcefiles>

буде виконуваний файл з ім’ям prog.

Опція –c дозволяє лише відкомпілювати файли з початковим текстом, створивши відповідні об'єктні файли. Наприклад, попереднього результату можна було б досягти за допомогою двох наступних викликів gcc:

gcc –c <sourcefiles>

gcc –o prog <objfiles>

Тут objfiles – список об'єктних файлів, отриманих після першого виклику gcc (їх імена будуть відрізнятись від імен файлів із початковими текстами тільки розширеннями (".o" замість ".c")).

За допомогою опції -I можна задавати шляхи пошуку файлів заголовків (мають розширення ".h"). Наприклад, якщо запустити на виконання

gcc –o prog –I include <sourcefiles>

gcc буде шукати файли заголовків, окрім стандартного (/usr/include) та поточного каталогів, у підкаталозі include поточного каталогу.

Компілятор gcc автоматично підключає стандартну бібліотеку мови C libc. Для підключення інших бібліотек треба скористатись опцією -l. Наприклад, нижче за допомогою цієї функції підключається бібліотека libpam:

gcc –o prog –lpam <sourcefiles>

За допомогою опції –L можна задавати шляхи пошуку бібліотек. Наприклад, якщо запустити на виконання

gcc –o prog –L /usr/local/lib/pam -lpam <sourcefiles>

gcc буде шукати бібліотеку libpam, окрім стандартних каталогів (/lib та /usr/lib), у каталозі /usr/local/lib/pam.

Опція --help дає можливість отримати довідку про порядок застосування gcc.

Більш докладну інформацію про порядок застосування gcc можна отримати за допомогою команди info (info gcc) або man (man gcc).

Хід роботи:

1. Основні прийоми розробки початкових текстів, компіляції й компоновки програм.

Практично відпрацювати базові прийоми застосування текстового редактора vim, текстового редактора echo.

Практично відпрацювати базові прийоми компіляції та компоновки програм із застосуванням програми gcc. Відкомпілювати й запустити програму з каталогу example_0.

2. Основні прийоми організації взаємодії програм із їх оточенням.

Розглянути приклади програм у каталогах example_1 – example_4. Уяснити призначення та алгоритм роботи прикладів програм. Відкомпілювати й запустити кожну програму на виконання.

Приклад із каталогу example_1 ілюструє, по-перше, порядок передачі програмам на C аргументів командного рядка, по-друге, порядок застосування стандартного потоку виведення результатів (функція printf() виводить текст у стандартний потік виведення результатів).

Приклад із каталогу example_2 ілюструє, перш за все, поширену (й рекомендовану) практику обробки аргументів командного рядка за допомогою функції getopt_long().

Приклади з каталогів example_3, exmaple_4 ілюструють порядок доступу до змінних оточення. Приклад з каталогу example_4 треба запускати двічі, причому перед другим запуском виконати команду виду:

export SERVER_NAME= www.nusta.edu.ua

Зазвичай найвищий пріоритет мають значення параметрів, передані програмам через аргументи командного рядка, далі йдуть значення, передані через змінні оточення, і найнижчий пріоритет мають значення, визначені в конфігураційних файлах.

3. Оформлення та захист звітів.

Перелік контрольних питань:

1. Призначення та основні прийоми застосування утиліти gcc.

2. Що таке компіляція?

3. Які основні опції команди gcc?

4. Що таке компоновка?

5. Призначення та основні прийоми роботи у vim.

6. Призначення та основні прийоми роботи у mc.

7. Які команди дозволяють отримати довідку про порядок застосування gcc?

З повагою ІЦ "KURSOVIKS"!