Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: Michal Štrba 25. 01. 2011, 15:45:00

Název: Přenositelnost objektových souborů
Přispěvatel: Michal Štrba 25. 01. 2011, 15:45:00
Chcem sa opytat ze ak v C/C++ napisem prenositelny kod (taky ktory skompilujem na lubovolnej platforme a program bude fungovat) tak ak ho len skompilujem bez linkovania bude vysledny objektovy subor prenositelny tiez?
Název: Re: Přenositelnost objektových souborů
Přispěvatel: Petrok 25. 01. 2011, 16:28:15
Nie
Název: Re: Přenositelnost objektových souborů
Přispěvatel: Jiří Uchavský 25. 01. 2011, 16:43:12
Není to možné. Objektové soubory už jsou zkompilované pro konkrétní architekturu - jsou to binární kusy výsledného programu. Takže není možné je přenést na jinou platformu nebo architekturu.
Název: Re: Přenositelnost objektových souborů
Přispěvatel: JS 25. 01. 2011, 19:55:47
Myslim, ze Java je odpoved, ale nejsem si jisty, co byla otazka.. :-)
Název: Re: Přenositelnost objektových souborů
Přispěvatel: Sten 26. 01. 2011, 02:14:20
Obecně ne. Lze ale vytvořit přenositelný objektový kód třeba pomocí LLVM (doporučuji, umí to i JIT nebo AOT kompilaci) nebo QEMU User Mode Emulation (dá se, ale mobily tím usmažíte). Ani jedno ale nefunguje tak, že nahrajete objektový kód na cílovou platformu a rovnou spustíte.

Btw. Java je na tuto otázku asi jako je odpověď „Použij loď” na otázku „Když vyrobím vlak tak, že na něj lze montovat libovolná kola, bude moct po sestavení jezdit na libovolné trati?”
Název: Re: Přenositelnost objektových souborů
Přispěvatel: JS 26. 01. 2011, 08:59:12
Btw. Java je na tuto otázku asi jako je odpověď „Použij loď” na otázku „Když vyrobím vlak tak, že na něj lze montovat libovolná kola, bude moct po sestavení jezdit na libovolné trati?”

Slo me o to, ze bych se temer vsadil, ze autor chce (tedy duvod proc se pta) distribuovat kod pro vic platforem, ale nechce ho distribuovat jako zdrojak.
Název: Re: Přenositelnost objektových souborů
Přispěvatel: Kit 26. 01. 2011, 09:56:31
Slo me o to, ze bych se temer vsadil, ze autor chce (tedy duvod proc se pta) distribuovat kod pro vic platforem, ale nechce ho distribuovat jako zdrojak.

V tom případě je nejjednodušším a nejschůdnějším řešením distribuce více druhů binárek na jednom instalačním médiu.