Створення та налагодження виконуваних файлів на мові Сі
Автор: Ганна Наконeчна • Декабрь 9, 2018 • Практическая работа • 957 Слов (4 Страниц) • 500 Просмотры
Національний технічний університет України
«Київський політехнічний інститут імені Ігоря Сікорського»
КОМП’ЮТЕРНИЙ ПРАКТИКУМ № 6
з кредитного модуля «Операційні системи» на тему:
«Створення та налагодження виконуваних файлів на мові Сі»
№ 17, 23
Київ 2018
ЗМІСТ
Вступ…………………………………………………………………………
- Приклад №1: Створення і компіляція програми
- Приклад №2: Багатофайловий проект
- Приклад №3: Скрипт для авто збірки
- Приклад №4: Створення make-файлу
Висновки…………………………………………………..............................
Вступ
В результаті компіляції програми на асемблері в машинний код створюється виконуваний файл, тобто файл, що містить безпосередньо інструкції процесора. Типи виконуваних файлів: ·
- об'єктний файл (object file) — файл, перетворений компілятором, але не приведений остаточно до виду виконуваного файлу в одному з форматів виконуваних файлів ·
- виконувана програма (executable) — файл в одному з форматів виконуваних файлів, який може бути запущений завантажувачем програм ОС ·
- розділяєма бібліотека (shared library) — програма, яка не може бути запущена самостійно, а підключається (компілятором) як частина інших програм ·
- знімок вмісту пам'яті (core dump) — знімок стану програми в момент її виконання — може дозволити продовжити виконання програми з того місця, на якому він був зроблений .
Сучасні операційні системи зберігають повний контроль над системними ресурсами комп'ютера, і виконуваному файлові потрібно робити системні запити, щоб отримати доступ до певних ресурсів. Операційні системи мають специфічний але стандартизований інтерфейс для таких запитів і тому виконувані файли певної операційної системи, як правило, подібні один до одного своєю внутрішньою структурою (хоча і залежать ще від архітектури комп'ютера), але не є виконуваними для інших сімейств операційних систем. Існують, однак, програми, які перехоплюють і конвертують системні виклики від певного виконуваного файлу і дозволяють таким чином виконати його як програму під іншою операційною системою та/чи архітектурою.
- Приклад №1: Створення та компіляція програми
Спочатку ми переходимо у домашній каталог. У ньому створюємо каталог myclock. Далі у ньому за допомогою команди cat та оператора >
створюємо файл myclock.c та записуємо у нього наступне:
Програма записана на мові С. Де директива #includeпідключуємо необхідні бібліотеки(а саме вводу та виводу, функції для роботи з датою та часом).[pic 1]
Далі відкриваємо функцію main(). У її тілі ми створюємо змінну nt типу time_t . У неї зберігаємо значення функції time().
Функція ctime() переписує час у звичний для нас вигляд. Результат роботи виводимо за допомогою функції printf().
return 0; виконує вихід із програми.
Далі за допомогою команди gcc компілюємо файл myclock. c. За допомого. опції –о задаємо ім’я файлу на виході явно.
Виводимо файл на виконання. Бачимо результат.
[pic 2]
- Приклад №2: Багатофайловий проект
Спочатку створюємо новий каталог print у домашній директорії. Суть багатофайлового проекту полягає у розбитті одного великого файлу на декілька малих, що об'єднані логічно. У ній створюємо три файли: print_up.h, print_up.c, main.c.
print_up.h:
Заголовочний файл, який містить прототип функції print_up. Ця функція переводить символи рядка у верхній регістр і виводить отриманий результат на екран.[pic 3]
...