Co to je - kompilátor a jak to funguje

21. 2. 2019

Moderní počítačové technologie se neustále zlepšují. Každý den se stále více nových technologií, které umožňují realizovat to, co bylo nedávno definováno jako fikce. Jazyky, lidské i počítačové, jsou také předmětem silných změn. V tomto článku vám detailně řekneme, co to je - kompilátor, jak s ním pracovat, proč byl vytvořen a kde se nyní nachází. Článek je doporučen nejen pro začínající uživatele operačního systému Windows, ale také pro programátory, kteří chtějí znát skryté znalosti o svém systému.

Jazyk operačního systému

Nejprve stojí za to, že programování nevede do stroje pouze určité klíčová slova, ale také pečlivě promyšlené akce související se součástmi systému. Zpočátku tam byl binární kód, pak programátoři vytvořili polokomputer programovací jazyk - assembler, ale pro co?

Představte si, že je třeba počítat každý bit na kalkulačce programátora, poté správně propojit a mnohem více. V assembleru se všechno stalo trochu jednodušším, ale stále velmi, velmi obtížným ve srovnání s moderními programovacími jazyky, například C ++, který se nazývá jeden z nejkomplexnějších, ale bude o něm diskutováno o něco později.

nainstalovaný překladač

V assemblerovém jazyce se všechno děje díky procesorovým registrům: dělení, násobení, přesunutí hodnoty z bodu A do bodu B atd. Hlavním problémem je to, že je stále napůl stroj, ale je stále člověkem čitelný, na rozdíl od chaoticky rozptýlených bitů . Další nevýhodou bylo omezené množství těchto registrů.

V osmdesátých letech se rozhodli vymyslet programovací jazyk, díky němuž by bylo snadné a jednoduché napsat operační systém. Tak se objevil C a GCC kompilátor C od GNU. Pokud používáte Linux, měli jste vidět produkty této společnosti. Mimochodem, assembler je stále používán dnes, protože některé kompilátory vytvářejí objektové soubory s binárním kódem, zatímco jiné jsou spustitelné - s kódem v assembleru. Vše závisí na vývojářské platformě.

Moderní překladač má sám o sobě následující programy:

  1. Debugger je program, který odešle chybové zprávy z linkeru, preprocesoru, tlumočníka.
  2. Předprocesor je program, jehož hlavním úkolem je hledat speciální štítky začínající znakem # a provádět určitý druh příkazů. Například přidání knihovny třetí strany k sestavení projektu.
  3. Tlumočník je program, který překládá náš víceméně srozumitelný programovací jazyk do binárního kódu nebo assembleru.
  4. Linker je program, díky kterému jsou chybějící soubory automaticky připojeny.

Existují také dva typy sestavování projektu: dynamické a statické. V prvním se přidávají pouze potřebné soubory projektu, a to i přes vývojové prostředí, a ve druhém případě vše v hromadě (samozřejmě spojené). Takže z toho můžeme již říci, že kompilátor je celý seznam programů pro shromažďování a zpracování informací v jasné a logické podobě pro počítač. Dále se podíváme, jak to všechno začalo.

První jednoduché překladače

Možná vás překvapí, ale poprvé objektem našeho článku (pak se také nazýval překladatel) objevil v roce 1954 v Ústavu, specializující se na aplikovanou matematiku. Nezahrnovala tak rozsáhlou sadu programů, jaká je nyní, ale v té době to bylo ještě vědecký průlom. Neexistoval žádný debager, takže lidé museli dělat všechno doslova rukama a pomocí standardní a diskrétní matematiky zjistili, zda elektronický počítač získal správný výsledek.

jednoduchý program na C ++

Je možné stavět bez nového jazyka?

Pokud jste poměrně inteligentní programátor, budete moci tento úkol dokončit. Je pravda, že to bude vyžadovat spoustu času a úsilí. Mimochodem, ještě předtím, než se objevilo takové povolání - programátor-linker. Pouze v nových programovacích jazycích je vše automatizované, a předtím, než se lidé museli spojovat kusy kódu se soubory. Mimochodem, některé projekty v systému Linux mohou být nyní shromažďovány pomocí těchto velmi vytvořených souborů, stačí zadat jejich závislost ručně.

prostředí

Po shromáždění kódu se linker vzdálil práci počítače k ​​zpracování, kde nakonec obdržel hotový binární kód.

Jak můžete vidět, kompilátor není jen program, ale i úsilí mnoha lidí. A oni, jak tvrdí Henry Ford, se snaží automatizovat každý proces.

Nejlepší kompilátor Windows

Mnoho čtenářů tedy ví, že existuje mnoho mrtvých jazyků, ale ještě živější, tj. Ti, kteří aktualizují svou standardní knihovnu alespoň jednou za rok. Jak jsme již uvedli, 1980 C byl vytvořen - to byl průlom. Mnozí z našich otců stále zbožňují tento jazyk, ale co s tím teď?

Žije a prospívá v novém těle, pokud to mohu říci. Jeho dědic C ++ je správný, i když jeho tvůrci je zakázáno psát kód podobný C, mnoho programátorů to ignoruje a dělá, ale proč je takové hrubé porušení pravidel dovoleno?

aktualizované vývojové prostředí
  • Nejprve to vyžadovalo značný podíl standardních knihoven od C a nové kompilátory G ++ jsou schopny kompilovat kód C, což samo o sobě ukazuje jejich podobnost.
  • Zadruhé, C ++ byl vytvořen, aby nahradil C, a vidíme výsledky tohoto. Mimochodem, program kompilátorů G ++ není "přísahat", dokud nebude použita alespoň jedna třída - to je hlavní rozdíl mezi těmito dvěma jazyky. Můžete volat G ++ nejlepší kompilátor, není to za nic, že ​​díky tomu zapisují mobilní aplikace, operační systém Windows atd.

Poradenství novým programátorům

Vaše cesta bude trnitá - stojí za to vědět především. Chcete-li začít pracovat s jazykem, například pokud je to C, určitě se budete muset seznámit s kompilátorem C. A pokud se s ním nerozprávíte a nerozumíte jeho logice, pak vaše projekty budou zaostávat a letět po jednom.

řádky kódu

Snažte se číst co nejvíce knih nejen o základy programování, ale také o historii vytváření jazyků, takže určitě začnete chápat samotnou podstatu procesu. Snažte se kombinovat praxi a nové znalosti, takže vše je zapamatováno mnohem rychleji. Kromě toho se snažte přenést svou angličtinu alespoň na průměrnou úroveň, jinak bude velmi obtížné procházet IDE.

Na závěr

Doufejme, že po přečtení tohoto článku pochopíte, že jde o kompilátor, jak funguje, proč byl vytvořen a kdo stále potřebuje. Stojí za to připomenout, že pro programátora je nejdůležitější pochopení situace a pochopení základních principů, takže opravdu doufáme, že vám tento článek pomohl.