Přenositelnost objektových souborů

Přenositelnost objektových souborů
« kdy: 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?
« Poslední změna: 25. 01. 2011, 15:53:39 od Petr Krčmář »


Petrok

Re: Přenositelnost objektových souborů
« Odpověď #1 kdy: 25. 01. 2011, 16:28:15 »
Nie

Jiří Uchavský

Re: Přenositelnost objektových souborů
« Odpověď #2 kdy: 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.

JS

Re: Přenositelnost objektových souborů
« Odpověď #3 kdy: 25. 01. 2011, 19:55:47 »
Myslim, ze Java je odpoved, ale nejsem si jisty, co byla otazka.. :-)

Sten

Re: Přenositelnost objektových souborů
« Odpověď #4 kdy: 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?”


JS

Re: Přenositelnost objektových souborů
« Odpověď #5 kdy: 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.

Kit

Re: Přenositelnost objektových souborů
« Odpověď #6 kdy: 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.