Обяснен компилатор на C ++: Какво представлява компилаторът и как го използвате?

Въведение в компилаторите на C ++

За да започнете с C ++, ще трябва да научите малко за компилаторите и как C ++ работи на вашия компютър.

Когато всичко е казано и направено, компютрите разбират само един език, машинен език. Езикът на машината е изцяло съставен от двоични битове или 0s и 1s.

Въпреки че би било възможно да се програмира в двоичен файл, би било невероятно досадно и отнема много време. И така, ние хората разработихме езици за програмиране, за да улесним разработването на софтуер.

Асемблерният език е директен 1 към 1 с машинен език. Езици като C, C ++ и COBOL са малко по-високи и трябва да бъдат компилирани. Отива още по-високо. Езици като JavaScript и Python имат компоненти, които се превеждат на C ++ или други езици от ниско ниво, преди да се компилират, което ефективно ги прави „по-високи“ езици от C или C ++.

Тъй като компютърната архитектура се състои от електронни ключове и кабели, които могат да работят само с двоични 1s и 0s, имате нужда от компилатор, който да преведе вашия код от високо ниво C ++ на машинен език, който CPU може да разбере.

Как работят компилаторите

Компилаторите са помощни програми, които вземат вашия код и го трансформират в изпълними файлове с машинен код.

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

След това компилаторът работи през предварително обработения кодов ред, като превежда всеки ред в съответната инструкция за машинен език. Това също ще разкрие всички синтаксисни грешки, които присъстват във вашия изходен код и ще изведе грешка в командния ред.

И накрая, ако няма грешки, компилаторът създава обектен файл с двоичен файл на машинния език, необходим за стартиране на вашата машина. Докато обектният файл, който току-що създаде компилаторът, вероятно е достатъчен, за да направи нещо на вашия компютър, той все още не е работещ изпълним файл на вашата програма C ++. Има последна важна стъпка за достигане до изпълнима програма.

C ++ съдържа обширна библиотека за подпомагане при изпълнението на трудни задачи като I / O и хардуерна манипулация. Можете да включите тези библиотеки с директиви за препроцесор, но препроцесорът не ги добавя автоматично към вашия код.

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

Помислете за това като за всички необходими блокове за построяване на къща. Компилаторът направи всички блокове, но линкерът е този, който ги слепва, за да създаде накрая къща. След като това стане, вече имате работещ изпълним файл!

Как да компилирам файл

Да предположим, че имате 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така че когато трябва да компилирате и стартирате кода си няколко пъти, стрелка нагоре-enter.

Съществуват редица различни видове компилатори. Изброените два са тези, които обикновено са пакетирани с Windows или Linux / OSX.

Повече информация за C ++

  • Въведение в програмирането на C ++
  • Обектно-ориентирано програмиране в C ++
  • Графични алгоритми и структури от данни, обяснени в C ++ и Java
  • Как да компилирате вашия C ++ код в VS Code