Пояснення компілятора C ++: що таке компілятор і як ви ним користуєтесь?

Вступ до компіляторів на C ++

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

Коли все сказано і зроблено, комп’ютери розуміють лише одну мову, машинну. Машинна мова повністю складається з двійкових бітів, або 0 і 1.

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

Мова збірки - це прямий 1 до 1 з машинною мовою. Такі мови, як C, C ++ та COBOL, трохи вищі, і їх потрібно компілювати. Це ще вище. Такі мови, як JavaScript та Python, мають компоненти, які перекладаються на C ++ або інші мови низького рівня перед тим, як їх компілюватимуть, фактично роблячи їх «вищими» мовами, ніж C або C ++.

Оскільки архітектура комп’ютера складається з електронних комутаторів та кабелів, які можуть працювати лише з двійковими 1 і 0, вам потрібен компілятор, щоб перекласти ваш код із високого рівня С ++ на машинну мову, яку CPU може зрозуміти.

Як працюють компілятори

Компілятори - це утилітні програми, які беруть ваш код і перетворюють його у виконувані файли машинного коду.

Коли ви запускаєте компілятор на своєму коді, спочатку препроцесор читає вихідний код (файл C ++, який ви щойно написали). Препроцесор шукає будь-які директиви препроцесора (рядки коду, що починаються з #). Директиви препроцесора змушують препроцесор якимось чином змінювати ваш код (зазвичай додаючи якусь бібліотеку або інший файл C ++).

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

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

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

Для того, щоб у вас була остаточна виконувана програма, інша утиліта, відома як компоновник, повинна поєднувати ваші об'єктні файли з бібліотечними функціями, необхідними для запуску коду.

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

Як скомпілювати файл

Скажімо, у вас є файл C ++, який називається helloWorld.cpp...

Якщо ви працюєте в ОС Windows

Використання та IDE, як CodeBlocks

Це просто, як натискання кнопок побудови та запуску, вони створюють файл у папці проекту.

img

Використання командного рядка

  1. Відкрийте командний рядок розробника - для цього кроку вам потрібно мати Microsoft Visual Studio або іншу IDE, яка дозволяє компілювати програму з командного рядка. Ви також можете шукати в Інтернеті компілятори на C ++.
  2. Перейдіть безпосередньо до вихідного коду
  3. Запустіть компілятор на вихідному коді (за умови, що ви використовуєте компілятор Microsoft Visual Studio) cl /EHsc helloWorld.cpp

Тепер це створить об’єктний файл і автоматично зв’яже його з вами. Якщо ви заглянете в ту саму папку, то побачите виконуваний файл hellWorld.exe (зверніть увагу на розширення exe).

  1. Введіть helloWorldу підказку, щоб запустити виконуваний файл

Крім того, багато середовищ IDE дозволяють швидко створювати та переглядати вашу програму. Це може бути простіше, оскільки ваша версія Windows може не мати попередньо упаковану утиліту компілятора.

Якщо ви використовуєте Linux або OSX

  1. Відкрийте вікно терміналу та перейдіть до каталогу вихідного коду
  2. Запустіть компілятор на вихідному коді g++ helloWorld.cpp -o helloWorld

Це створить файл об’єкта та автоматично зв’яже його з вами. Загляньте в папку, і ви побачите виконуваний файл helloWorld.exe (зверніть увагу на розширення exe).

  1. Введіть ./helloWorldу вікно терміналу, щоб запустити виконуваний файл

g ++ є стандартним компілятором Linux і є чудовою утилітою. Він поставляється в комплекті з операційною системою.

ПРИМІТКА: щоб скомпілювати та виконати код безпосередньо, запустіть його, g++ -o helloWorld helloWorld.cpp; ./helloWorldколи вам потрібно скомпілювати та запустити код кілька разів, стрілку вгору-введіть.

Існує ряд різних типів компіляторів. Два перелічені - це два, які зазвичай комплектуються Windows або Linux / OSX.

Більше інформації про C ++

  • Вступ до програмування на C ++
  • Об'єктно-орієнтоване програмування на C ++
  • Алгоритми графіків та структури даних, роз’яснені на C ++ та Java
  • Як скомпілювати код C ++ у коді VS