NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!
NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.

Lekce 16 - Kompilace v jazyce C a C++ pokračování

V minulé lekci, Kompilace v jazyce C a C++, jsme si řekli o preproccessingu a kompilaci do objektových souborů.

V dnešním díle se podíváme na linkování a řekneme si, proč C používá hlavičkové a implementační soubory.

Linkování

Při kompilování do objektových souborů jsme si řekli, že kompilátor neví, zda volaní funkce existuje a kde je. Použití správných adres v paměti řeší až linker. Ve finálním spustitelném souboru již nefigurují žádné jména funkcí. Funkce začíná na nějakém místě v paměti (offset), od kterého se začnou instrukce provádět do té doby, dokud procesor nenarazí na instrukci ret. Ta vezme poslední záznam v zásobníku a vrátí se na místo v paměti určené vyzvednutou hodnotou - tak jak jsme to viděli v minulém díle. Pro připomenutí přikládám ještě jednou zdrojové soubory z minulé lekce.


 

...konec náhledu článku...
Pokračuj dál

Znalosti v hodnotě stovek tisíc získáš za pár korun

Došel jsi až sem a to je super! Věříme, že ti první lekce ukázaly něco nového a užitečného.
Chceš v kurzu pokračovat? Přejdi do prémiové sekce.

Koupit tento kurz

Koupit všechny aktuálně dostupné lekce s funkcí odevzdávání úloh za pouhých 545 Kč
Aktuální stav konta 0 Kč
Koupí tohoto balíčku získáš přístup ke všem 22 článkům (17 lekcí, 5 praktických cvičení) tohoto kurzu.

Obsah článku spadá pod licenci Premium, koupí článku souhlasíš se smluvními podmínkami.

Co od nás v dalších lekcích dostaneš?
  • Neomezený a trvalý přístup k jednotlivým lekcím.
  • Kvalitní znalosti v oblasti IT.
  • Dovednosti, které ti pomohou získat vysněnou a dobře placenou práci.

Popis článku

Požadovaný článek má následující obsah:

Podrobněji se podíváme na proces kompilace krok po kroku - linkování.

Kredity získáš, když podpoříš naši síť. To můžeš udělat buď zasláním symbolické částky na podporu provozu nebo přidáním obsahu na síť.

Článek pro vás napsal Patrik Valkovič
Avatar
Věnuji se programování v C++ a C#. Kromě toho také programuji v PHP (Nette) a JavaScriptu (NodeJS).
Aktivity