Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
statnice:oi_si_7 [2011/06/05 11:06] marty |
statnice:oi_si_7 [2025/01/03 18:23] (aktuální) |
||
---|---|---|---|
Řádek 85: | Řádek 85: | ||
==== Nativní a křížové vývojové řetězce ==== | ==== Nativní a křížové vývojové řetězce ==== | ||
- | Na základě toho, kde sestavujeme vlastní toolchain a kde jej používáme a jaké generuje cílové binární soubory rozlišujeme několik případů. V následujících sekcích jsou použity tři stroje: | + | Na základě toho, kde sestavujeme vlastní toolchain a kde jej používáme a jaké generuje cílové binární soubory rozlišujeme několik případů. V následujících sekcích jsou použity tři stroje (ve smyslu hw architektury): |
* build - stroj na němž je **sestavován build toolchain** (např. gcc) | * build - stroj na němž je **sestavován build toolchain** (např. gcc) | ||
Řádek 92: | Řádek 92: | ||
=== Native build === | === Native build === | ||
+ | Nejběžnější je nativní build. Příkladem může být zkompilování gcc překladače v některé linuxové distribuci (e. g. Gentoo). Tento překladač je potom používán pro vygenerování binárek, které běží na téže platformě. | ||
+ | |||
{{:statnice:native_build.png|Native build.}} | {{:statnice:native_build.png|Native build.}} | ||
=== Cross build === | === Cross build === | ||
+ | |||
+ | Typický scénář použití pro běžný křížový překlad je u embedded systémů. Tyto systémy nejsou zpravidla dostatečně výkonné, abychom pro ně mohli zkompilovat překladač, který by na nich běžel a generoval binární soubory pro tuto platformu. Proto pracujeme např. v nějaké běžné linuxové distribuci (např. na architektuře core2, i686, ...), kde máme překladač (host) a generujeme např. binární kód pro ARM procesor, který běží na cílovém embedded zařízení. | ||
+ | |||
{{:statnice:cross_build.png|Cross build.}} | {{:statnice:cross_build.png|Cross build.}} | ||
=== Cross-native build === | === Cross-native build === | ||
+ | |||
+ | Zde můžeme uvažovat např. rozdíl mezi 32bit a 64bit linuxovými distribucemi. Může se stát, že jsou servery, na kterých jsou kompilovány binární balíčky 64bitové. V tom případě je na 64 bitové architektuře zkompilován 32bitový překladač, který je možné následně používat pro generování binárních souborů pro cílovou platformu. | ||
+ | |||
{{:statnice:cross_native_build.png|Cross native build.}} | {{:statnice:cross_native_build.png|Cross native build.}} | ||
=== Canadian build === | === Canadian build === | ||
+ | Kanadský build může být použit např. pokud vygenerujeme překladač běžící na 32bitové architektuře na 64bitovém stroji, ale tento překladač generuje třeba binární soubory pro embedded zařízení. | ||
+ | |||
{{:statnice:canadian_build.png|Canadian build.}} | {{:statnice:canadian_build.png|Canadian build.}} | ||