Što je to - kompajler i kako radi

21. 2. 2019.

Suvremene računalne tehnologije u stalnom su stupnju poboljšanja. Svakoga dana sve je više novih tehnologija, koje omogućuju da se shvati što je nedavno definirano kao fikcija. Jezici, ljudi i računalo, također su podložni velikim promjenama. U ovom članku ćemo vam detaljno reći što je to - prevodilac, kako raditi s njim, za što je stvoren i gdje ga se sada može naći. Članak se preporučuje ne samo početnicima Windows operacijskog sustava, već i programerima koji žele znati skrivena znanja o svom sustavu.

Jezik operativnog sustava

Za početak, vrijedi apstrahirati, jer programiranje ne samo da vozi određene ključne riječi u stroj, već je i pažljivo promišljeno djelovanje vezano uz komponente sustava. U početku je postojao binarni kod, a programeri su stvorili polu-računalni programski jezik - asembler, ali za što?

Zamislite da morate računati svaki bit na kalkulatoru programera, zatim ga ispravno povezati i još mnogo toga. U asembleru, sve je postalo malo jednostavnije, ali ipak vrlo, vrlo teško u usporedbi sa suvremenim programskim jezicima, na primjer, C ++, koji se zove jedan od najsloženijih, ali će se raspravljati malo kasnije.

instalirani kompajler

U asemblerskom jeziku, sve se radi zahvaljujući procesorskim registrima: podjeli, množenju, pomicanju vrijednosti iz točke A u točku B, itd. Glavni problem je u tome što je još uvijek polu-stroj, ali je i dalje čitljiv, za razliku od kaotično raspršenih bitova. , Drugi nedostatak bio je ograničen broj tih registara.

1980-ih odlučili su izmisliti programski jezik, zahvaljujući kojem bi bilo lako i jednostavno napisati operativni sustav. Tako se pojavio C i GCC prevodilac C iz GNU-a. Ako koristite Linux, trebali ste vidjeti proizvode ove tvrtke. Usput, asembler se i danas koristi, jer neki kompilatori stvaraju objektne datoteke s binarnim kodom, dok su drugi izvršni - s kodom u asembleru. Sve ovisi o razvojnoj platformi.

Moderni prevodilac ima sljedeće programe:

  1. Debugger je program koji šalje poruke o pogreškama od linkera, pretprocesora, tumača.
  2. Preprocesor je program čija je glavna zadaća traženje posebnih oznaka počevši od znaka #, te izvršavanje određene vrste naredbi. Na primjer, dodavanje biblioteke treće strane za prevođenje projekta.
  3. Interpreter je program koji prevodi naš više ili manje razumljiv programski jezik u binarni kod ili asembler.
  4. Linker je program zbog kojeg se datoteke koje nedostaju automatski povezuju.

Kompajler sadrži i 2 tipa projekta: dinamički i statični. U prvom se dodaju samo potrebne projektne datoteke, unatoč razvojnom okruženju, au drugom slučaju, sve u hrpi (naravno, povezano). Dakle, iz toga se može reći da je prevodilac cijeli popis programa za prikupljanje i obradu informacija u jasnom i logičnom obliku za računalo. Zatim ćemo pogledati kako je sve počelo.

Prvi jednostavni kompilatori

Možda ćete se iznenaditi, ali se prvi put objekt našeg članka (koji se tada zvao i prevoditelj) pojavio još 1954. u Institutu, specijaliziran za primijenjenu matematiku. Ona nije uključivala tako velik skup programa kao što je sada, ali je u to vrijeme još uvijek bio proboj u znanosti. Nije bilo debager, pa su ljudi morali sve učiniti doslovno svojim rukama, a koristeći standardnu ​​i diskretnu matematiku kako bi saznali je li elektroničko računalo dobilo pravi rezultat.

jednostavan program na c ++

Je li moguće graditi bez novog jezika?

Ako ste prilično inteligentni programer, tada ćete moći dovršiti ovaj zadatak. Istina, to će zahtijevati puno vremena i truda. Usput, prije nego što je čak i takva struka - programer-linker. Samo je u novim programskim jezicima sve automatizirano, a prije toga ljudi su morali povezati dijelove Make koda s datotekama. Usput, neki projekti na Linuxu sada se mogu sakupiti pomoću ovih Makefilea, samo trebate specificirati njihove zavisnosti ručno.

razvojno okruženje

Nakon što je prikupio kod, linker je odustao od rada računala za obradu, gdje je na kraju dobio gotov binarni kod.

Kao što možete vidjeti, prevodilac nije samo program, već i napori mnogih ljudi. A oni, kako tvrdi Henry Ford, pokušavaju automatizirati svaki proces.

Najbolji Windows kompilator

Dakle, mnogi čitatelji znaju da postoji mnogo mrtvih jezika, ali čak i više živih, tj. Onih koji ažuriraju svoju standardnu ​​knjižnicu barem jednom godišnje. Kao što smo rekli, 1980. je stvoren - bio je to proboj. Mnogi naši očevi još uvijek obožavaju ovaj jezik, ali što s njim sada?

Živi i uspijeva u novom tijelu, ako mogu tako reći. Njegov nasljednik je C ++ po pravu, iako je njegovom tvorcu zabranjeno pisati kod sličan C na njemu, mnogi programeri to ignoriraju i rade, ali zašto je takvo grubo kršenje pravila dopušteno?

ažurirano razvojno okruženje
  • Prvo, uzeo je znatan dio standardnih knjižnica iz C-a, a novi G ++ kompajleri mogu kompilirati C kod, što samo po sebi ukazuje na njihovu sličnost.
  • Drugo, C ++ je stvoren da zamijeni C, a rezultate toga vidimo sada. Usput, program za kompilaciju G ++ ne “psuje” dok se ne koristi barem jedna klasa - to je glavna razlika između ta dva jezika. Možete nazvati G ++ najbolji kompilator, nije zbog nečega zahvaljujući njemu pisali mobilne aplikacije, operacijski sustav Windows itd.

Savjeti početnicima programera

Vaš će put biti trnovit - prije svega vrijedi znati. Da biste počeli raditi s jezikom, na primjer, ako je C, svakako ćete se morati upoznati s C kompilatorom, a ako se ne slažete s njim i ne razumijete njegovu logiku, onda će vaši projekti zaostajati i letjeti jedan po jedan.

redaka koda

Pokušajte čitati što više knjiga ne samo o osnovama programiranja, već io povijesti stvaranja jezika, tako da ćete sigurno početi shvaćati samu bit procesa. Pokušajte kombinirati praksu i nova znanja, tako da se sve pamti brže. Osim toga, pokušajte dovesti svoj engleski jezik na barem prosječnu razinu, inače će vam biti vrlo teško kretati se kroz IDE.

U zaključku

Nadam se da ćete, nakon čitanja ovog članka, shvatiti da je riječ o prevodiocu, načinu funkcioniranja, zašto je stvoren i kome još uvijek trebate. Važno je podsjetiti da je najvažnije za programera razumijevanje situacije, razumijevanje osnovnih načela, pa se nadamo da vam je članak pomogao u tome.