Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
methodCpp2.doc
Скачиваний:
1
Добавлен:
23.12.2018
Размер:
443 Кб
Скачать
☆

1.2. Етапи виконання програми

Вихідна програма, підготовлена на мові С++ у вигляді текстового файла з розширенням *.срр (welcome.cpp), проходить 3 етапи обробки:

  1. препроцесорне перетворення тексту програми;

  2. компіляція;

  3. компоновка (редагування звязків чи складання).

Після цих 3 етапів формується машинний код програми, що виконується.

Задачею препроцесора є перетворення (доповнення) тексту програми до початку її компіляції. Правила препроцесорної обробки визначаються програмістом за допомогою директив препроцесора. Директива починається з ”#” (дієс, шарп). Наприклад,

1) #define - визначає правила заміни в тексті:

#define ZERO 0.0

Це означає, що кожне використання у програмі імені ZERO буде замінюватися на 0.0.

2) #include< імя заголовного файла > - передбачена для залучення до тексту програми тексту файлу з каталогу “Заголовних файлів” INCLUDE, які постачаються разом зі стандартними бібліотеками. Кожна бібліотечна функція чи обєкт С++ має відповідний опис в одному з заголовних файлів (наприклад, iostream.h, stdio.h, conio.h, math.h). Список заголовних файлів визначається стандартом мови. Використання директиви include не підєднує відповідну стандартну бібліотеку, а лише дозволяє долучити до тексту програми описи із зазначеного заголовного файлу. В нашому випадку препроцесор обробляє директиву #include <iostream.h> і під’єднує до вихідного тексту програми засоби для обміну з дисплеєм. Далі файл передається на компіляцію, у ньому виявляються синтаксичні помилки, які потрібно усунути програмістові. Після безпомилкової компіляції текст програми перекладається компілятором на машинну мову, далі отримуємо об’єктний файл з розширенням *.obj. Підключення обєктних кодів файлів з визначеннями необхідних стандартних функцій і обєктів з бібліотеки відбувається на етапі компоновки, тобто після компіляції. У обєктному коді створюваної програми ніби замуровуються дірки за допомогою кодів стандартних функцій. Хоча в заголовних файлах містяться всі описи стандартних функцій, до коду програми залучаються лише функції й обєкти, які використовуються в програмі.

Після компоновки утворюється модуль програми з розширенням *.ехе.

Отже, в нашому випадку, виконавши директиви, препроцесор сформує повний текст програми, компілятор створить об’єктний файл welcome.obj, за замовчуванням обравши для нього зазначене ім’я, а компоновщик (редактор зв’язків Linker) доповить програму бібліотечними функціями, наприклад, для роботи з об’єктом cout і побудує модуль welcome.exe, запустивши, який ми одержуємо на екрані бажану фразу. Схема етапів виконання програми наведена на рис. 1.1.

1.3. Порядок запуску програми

  1. Відкрийте нове вікно редагування (File > New) і надайте йому ім’я Welcome (File > Save As);

  2. У новому вікні наберіть текст програми, що наводиться у Прикладі 1.

  3. Відкомпілюйте програму (Compile > Compile або (Alt+F9)). В разі повідомлень про помилку, перевірте текст програми і усуньте невідповідності. Щоразу, вносячи зміни у вихідний текст програми, зберігайте файл (File > Save або F2). Після чого змінену програму слід відкомпілювати;

  4. Запуск відкомпільованої програми здійснюється за командою (Run > Run або Ctrl+F9). Якщо з моменту останньої компіляції вихідний код було модифіковано, ця команда виконає послідовно компіляцію і компоновку. Результат виконання програми можна переглянути, натиснувши комбінацію клавіш Alt+F5.

Контрольні запитання:

  1. Яка структура програми на С++?

  2. Яке розширення має файл з вихідним текстом програми?

  3. Що таке escape-символ?

  4. Назвіть основні лексеми мови С++.

  5. Як відрізнити директиву препроцесора від простого оператора і яка її функція?

  6. В якому форматі записується заголовок будь-якої функції, в тому числі, головної? Що таке тіло функції?

  7. Чим відрізняється компілятор від компоновщика?

  8. Як здійснюється вивід даних у С++?

welcome.cpp

*.cpp *.h

welcome.cpp

*.срр Повний текст програми

welcome.obj

*.obj Об’єктний код

програми

Library dictionary

Бібліотечні

файли

welcome.exe

*.exe Виконувана

програма

Рис. 1.1. Схема підготовки програми в процесі виконання

Тема 2. Форматний ввід/вивід у мові С/С++

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]