Објашњени компајлер за Ц ++: Шта је компајлер и како га користите?

Увод у компајлере за Ц ++

Да бисте започели са Ц ++, мораћете да научите мало о компајлерима и како Ц ++ ради на вашем рачунару.

Када се све заврши, рачунари разумеју само један језик, машински језик. Машински језик се у потпуности састоји од бинарних битова или 0 и 1.

Иако би било могуће програмирати у бинарном облику, то би било невероватно заморно и дуготрајно. Дакле, ми људи смо развили програмске језике како бисмо олакшали развој софтвера.

Монтажни језик је директни 1 према 1 са машинским језиком. Језици попут Ц, Ц ++ и ЦОБОЛ су мало виши и треба их компајлирати. Иде још више. Језици попут ЈаваСцрипт и Питхон имају компоненте које се преводе на Ц ++ или друге језике ниског нивоа пре него што се компајлирају, што их ефективно чини „вишим“ језицима од Ц или Ц ++.

Будући да се рачунарска архитектура састоји од електронских прекидача и каблова који могу да раде само са бинарним 1 и 0, потребан вам је компајлер да преведе ваш код са високог нивоа Ц ++ на машински језик који ЦПУ може да разуме.

Како компајлери раде

Преводитељи су услужни програми који узимају ваш код и трансформишу га у извршне датотеке машинског кода.

Када на свом коду покренете компајлер, прво, претпроцесор чита изворни код (Ц ++ датотеку коју сте управо написали). Претпроцесор тражи било које директиве претпроцесора (редови кода који почињу са #). Директиве препроцесора узрокују да претпроцесор на неки начин промени ваш код (додавањем обично неке библиотеке или друге Ц ++ датотеке).

Даље, компајлер ради кроз унапред обрађену линију кода преводећи сваку линију у одговарајућу инструкцију машинског језика. Ово ће такође открити све синтаксне грешке присутне у вашем изворном коду и избациће грешку у командну линију.

Коначно, ако нема грешака, компајлер креира датотеку објекта са бинарним бројем машинског језика неопходним за покретање на вашем рачунару. Иако је објектна датотека коју је компајлер управо креирао довољна да учини нешто на вашем рачунару, она још увек није радна извршна датотека вашег програма Ц ++. Постоји последњи важан корак до достизања извршног програма.

Ц ++ садржи огромну библиотеку која помаже у обављању тешких задатака као што су И / О и манипулација хардвером. Можете укључити ове библиотеке са директивама претпроцесора, али претпроцесор их не додаје аутоматски у ваш код.

Да бисте имали коначни извршни програм, други услужни програм познат као повезивач мора комбиновати ваше објектне датотеке са функцијама библиотеке неопходним за покретање кода.

Замислите то као да имате све потребне блокове за изградњу куће. Компајлер је направио све блокове, али линкер је тај који их све спаја да би коначно створио кућу. Када се ово заврши, сада имате функционалну извршну датотеку!

Како саставити датотеку

Рецимо да имате Ц ++ датотеку која се зове helloWorld.cpp...

Ако користите Виндовс

Коришћење и ИДЕ попут ЦодеБлоцкс

Једноставно је као кликнути дугмад за изградњу и покретање, они ће створити датотеку у директоријуму пројекта.

имг

Коришћење командне линије

  1. Отворите командну линију за програмере - за овај корак мораћете да имате Мицрософт Висуал Студио или неки други ИДЕ који вам омогућава да компајлирате свој програм из командне линије. Такође можете на мрежи да претражујете компајлере за Ц ++.
  2. Идите директно на изворни код
  3. Покрените компајлер на изворном коду (под претпоставком да користите компајлер Мицрософт Висуал Студио) cl /EHsc helloWorld.cpp

Ово ће сада створити датотеку објекта и аутоматски ће је повезати за вас. Ако погледате у ту исту фасциклу, видећете извршну датотеку хеллВорлд.еке (имајте на уму да је еке екстензија) сада присутна.

  1. Укуцајте helloWorldу упит да бисте покренули извршну датотеку

Много ИДЕ-ова омогућава брзу изградњу и преглед вашег програма. Ово је можда лакше јер ваша верзија система Виндовс можда неће бити упакована са услужним програмом за компајлирање.

Ако користите Линук или ОСКС

  1. Отворите прозор терминала и идите до директорија изворног кода
  2. Покрените компајлер на изворном коду g++ helloWorld.cpp -o helloWorld

Ово ће створити датотеку објекта и аутоматски ће је повезати за вас. Погледајте у фасциклу и видећете извршну датотеку хеллоВорлд.еке (имајте на уму еке екстензију).

  1. Укуцајте ./helloWorldтерминалски прозор да бисте покренули извршну датотеку

г ++ је стандардни Линук компајлер и сјајан је услужни програм. Испоручује се са оперативним системом.

НАПОМЕНА: да бисте директно компајлирали и извршили код, покрените га, g++ -o helloWorld helloWorld.cpp; ./helloWorldтако да када је потребно да код компајлирате и покренете више пута, стрелица нагоре-ентер.

Постоји читав низ различитих врста компајлера. Две наведене су две које су обично упаковане у Виндовс или Линук / ОСКС.

Више информација о Ц ++

  • Увод у програмирање на Ц ++
  • Објектно оријентисано програмирање на језику Ц ++
  • Графички алгоритми и структуре података објашњени у Ц ++ и Јава
  • Како саставити свој Ц ++ код у ВС Цоде