На сьогоднішньому занятті.

  • Чому мова С++   стала стандартом в області розробки програмного забезпечення.
  • Як набрати, відкомпілювати і скомпонувати першу робочу програму С++ .

Короткий екскурс в історію мови C++

Завдання мови програмування в тому, щоб спростити використання обчислювальних ресурсів. Мова C++   зовсім не нова, але вона ще дуже популярна і продовжує вдосконалюватись. Остання версія мови C++, прийнята міжнародним комітетом із стандартів ISO Standards Committee в 2011 називається С++ 11.

Зв'язок з мовою С

Спочатку розроблений Бьярне Страуструпом в 1979 році, мова C   була задумана як наступниця мови С. С - процедурна мова, де кожна функція робить певну дію. Мова C++, напротивагу, була задумана як об'єктно-орієнтована, але вона реалізує такі концепції, як спадкоємство, абстракція, поліморфізм та інкапсуляція. Класи мови C   використовують властивості для утримання даних і методи для обробки цих даних. (Методи є аналогом функцій в мові С. ) В результаті програміст більше думає про дані і про те, що з ними слід зробити. Компілятори C   традиційно під тримали також програми на мові С. Перевагою цього була сумісність із застарілим кодом, а недоліком - надзвичайно висока складність компіляторів, вимушених забезпечувати програмістам цю сумісність, одночасно реалізовуючи усі нові засоби, яких вимагає розвиток мови.

Переваги мови C++

C++   вважається мовою програмування проміжного рівня, тобто вона дозволяє створювати як високорівневі застосування, так і низькорівневі бібліотеки, працюючи з апаратними засобами. Для багатьох програмістів мова C++   є оптимальною комбінацією, будучи мовою високого рівня, він дозволяє будь-якому створювати складні додатки, зберігаючи розробникові можливість забезпечити їм максимальною продуктивність за рахунок детального контролю над використанням ресурсів та їх доступністю.

Незважаючи на наявність новіших мов програмування, таких як Java, та мов на платформі .NET, мова C++   залишається популярною і продовжує розвиватися. Новіші мови надають певні засоби, такі як управління пам'яттю за рахунок збору "сміття", реалізоване в компоненті виконуючого середовища, які подобаються деяким програмістам. Проте там, де потрібний детальний контроль за продуктивністю створюваного додатку, ці ж програмісти все ще вибрали б мову C++ . Багаторівнева архітектура, де веб-сервер створюється на мові C++, а користувацька частина додатка на HTML, Java або .NET, є нині цілком буденною.

Розвиток стандарту C++

Роки розвитку зробили мову C++   дуже популярною, хоч і існуючу в багатогранності різних форм із-за безлічі відмінностей компіляторів, кожен з яких має власні особливості. Ця популярність і відмінності в доступних версіях привели до великої кількості проблем сумісності і можливості перенесення коду. Отже, з'явилася потреба стандартизації.

У 1998 році перша стандартна версія мови C++   була ратифікована міжнародною організацією по стандартизації ISO Committee у вигляді стандарту ISO/IEC 14882 : 1998. Потім, в 2003 році, послідувала версія ISO/IEC 14882 : 200). Поточна версія стандарту мови C++   була ратифікована в серпні 2011 року. Офіційно вона називається С++ 11 (ISO/IEC 14882 : 2011) і містить деякі з найчестолюбніших і прогресивніших змін, які коли-небудь бачив стандарт.

Хто використовує програми, написані на C++ ?

Незалежно від того, хто ви або що ви робите - загартований програміст або той, хто використовує комп'ютер для певної мети, - ви постійно використовуєте прикладні програми та бібліотеки C++ . Це операційні системи, драйвери пристроїв, офісні застосунки, веб-сервери, додатки на базі хмари (мережевого середовища), пошукові механізми і навіть деякі з новіших мов програмування, для створення яких, як правило, вибирають мову C++ .

Створення прикладної програми C++

Коли ви запускаєте Блокнот (Notepad) або редактор vi на своєму комп'ютері, ви фактично вказуєте процесору запустити виконуваний файл цієї програми. Виконуваний файл (executable) - це готовий продукт, який може бути запущений і повинен зробити те, чого мав намір досягти програміст.

Етапи створення виконуваного файлу

Написання програми C++   є першим етапом створення виконуваного файлу, який може бути запущений на вашій операційній системі. Основні етапи створення додатків C   приведені нижче.

1. Написати (чи запрограмувати) код C++, використовуючи текстовий редактор.

2. Відкомпілювати код, використовуючи компілятор C++, який перетворює його у версію машинної мови і запише в об'єктний файл (object file).

3. Скомпонувати результат роботи компілятора, використовуючи компонувальник, і отримати виконуваний файл (. ехе в Windows, наприклад).

Зверніть увагу, що мікропроцесор не може використати текстові файли, які ви, по суті, і створюєте, коли пишете програми. Компіляція (compilation) - етап, на якому код C++, міститься зазвичай в текстових файлах з розширенням. срр, перетвориться у бінарний код, який може бути зрозумілий процесором. Компілятор (compiler) перетворить по одному файлу коду за раз, створюючи об'єктний файл з розширенням .о або .obj і ігноруючи залежності, які код в цьому файлі може мати з кодом в іншому файлі. Розпізнавання цих залежностей і об'єднання коду є завданням компонувальника (linker). Окрім об'єднання різних об'єктних файлів, він встановлює залежності і у разі успішного компонування створює виконуваний файл, який можна виконувати і поширювати.

Аналіз і усунення помилок

Більшість складних застосунків, особливо розроблених колективом програмістів, рідко компілюються і починають добре працювати відразу. Велика або складна прикладна програма, написана на будь-якій мові (включаючи C++), частенько вимагає множини запусків і перезапусків, щоб проаналізувати проблеми і виявити помилки. Потім помилки виправляються, програма перекомпілюється і процес триває. Таким чином, окрім трьох етапів (програмування, компіляція і компонування), розробка частенько має на увазі етап відлагодження (debugging), на якому програміст аналізує аномалії і помилки в додатку, використовуючи інструментальні засоби перегляду і відладчики, а також виконання по рядкам.

Інтегроване середовище розробки

Більшість програмістів вважають за краще використати інтегроване середовище розробки (Integrated Development Environment - IDE), що об'єднує етапи програмування, компіляції і компонування в межах єдиного призначеного для користувача інтерфейсу, засобу, що надає також засоби відлагодження, що полегшують виявлення помилок і усунення проблем.

Нині доступна безліч безкоштовних інтегрованих середовищ розробки і компіляторів C++ . Найбільш популярні - Microsoft Visual C++   Express для Windows і GNU C++   Compiler (що називається також g++) для Linux. Якщо Ви програмуєте на Linux, то можете встановити безкоштовне інтегроване середовище розробки Eclipse для розробки додатків C++   з використанням компілятора g++ .

РЕКОМЕНДУЄТЬСЯ :

Використайте для створення початкового коду або простий текстовий редактор, такий як Блокнот або gedit, або інтегроване середовище розробки. Зберігайте свої файли початкового коду у файлах з розширенням . срр

НЕ РЕКОМЕНДУЄТЬСЯ :

Не використайте складні редактори тексту, оскільки вони частіш за все додають власну розмітку в текст коду. Не використовуйте розширення .с , оскільки більшість компіляторів розглядають такі файли як такі, що містять код мови С, а не С++ .

Створення першого додатка C

Тепер, коли відомі інструментальні засоби і задіяні етапи, прийшов час створити першу прикладну програму C++, яка за традицією виводить на екран текст Hello world! ("Привіт, світ"!).

Якщо ви працюєте під управлінням операційної системи Windows і використовуєте IDE Microsoft Visual C++   Express, то можете наслідувати етапи, описані нижче.

1. Створіть новий проект, використовуючи пункт меню File/New/Project (Файл/Новий/Проект).

2. Виберіть тип Win32 Console Application (Консольний додаток Win32) і скиньте прапорець Use Precompiled Header (Використати заздалегідь скомпільований заголовок).

3. Назвіть проект Hello і замініть автоматично створений вміст у файлі Hello. срр фрагментом коду, представленим в лістингу 1.1.

Якщо ви працюєте на Linux, для створення файлу .срр з таким вмістом, як в лістингу 1.1, використайте простий текстовий редактор (на Ubuntu використовується gedit).

ЛІСТИНГ 1.1 Програма Hello World (файл hello.cpp)

1: #include <iostream>

2:

3: int main ()

4: {

5:    std::cout « "Hello World!" « std::endl;

6:    return 0;

7: }

Це просте застосування усього лише виводить на екран рядок, використовуючи оператор std : : cout. Оператор std : :endl вказує об'єкту потоку cout закінчити рядок, а оператор return 0 забезпечує завершення роботи додатка і повернення операційній системі коду 0.

Зрозуміти програму при читанні буде легше, якщо знаєш, як вимовляються спеціальні символи і ключові слова. Наприклад, директиву #include можна прочитати як hash - include (хеш инклюд), або як sharp - include (шарп инклюд), або як pound - include (фунт инклюд), залежно від ваших звичок.

Аналогічно оператор std : : cout можна прочитати як standard - c - out (стандард-сі-аут).

Створення і запуск вашого першого додатка C++

Якщо ви використовуєте IDE Microsoft Visual C++   Express, натисніть для запуску програми безпосередньо в інтегрованому середовищі розробки комбінацію клавіш <Ctrl+F5>. В результаті програма відкомпільована, скомпонована і запущена на виконання. Ці ж етапи можна також пройти індивідуально.

1. Клацніть правою кнопкою миші на проекті і в контекстному меню, що з'явилося, виберіть пункт Build, щоб створити виконуваний файл.

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

3. Запустіть додаток, ввівши ім'я його виконуваного файлу.

У середовищі розробки Microsoft Visual C++   ваша програма виглядатиме приблизно так, як показано на мал. 1.1.

hello

Виведення в консолі буде виглядати так ...

hello-2

При роботі під Linux викличте компілятор g++   і компонувальник, використовуючи такий командний рядок:

G++   -о hello Hello.срр

Введення цього рядка наказує компілятору g++   створювати виконуваний файл hello і відкомпілювати файл початкового коду C++  Hello.срр. Запуск файлу .\hello на Linux або Hello. exe на Windows дасть наступний вивід:

Hello World!

Поздоровляю! Ви почали свій шлях до вивчення однієї з найпопулярніших і потужніших мов програмування!