Nové výhodné předplatné namísto kreditů je tu! Více informací. Upravili jsme také naše provozní podmínky.
NOVINKA: Staň se datovým analytikem a získej jistotu práce, lepší plat a nové kariérní možnosti. Více informací:

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.

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

Co od nás v dalších lekcích dostaneš?
  • Přístup k jednotlivým lekcím dle způsobu pořízení.
  • 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í.
Č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