dez#27
No és tudod, mi ennek az egyik legnagyobb akadálya? Hogy a legelterjedtebben használt C-fordító az Intel saját C-fordítója, ami néhány dologban "saját utakon jár" -- épp csak annyira, hogy nem kis meló egy komolyabb programot más fordítóval fordíthatóvá tenni... Némileg hasonlít a dolog a korábbi Internet Exproreres trükközésre a MS részéről, vagy pl. az utóbbi a Javaval is hasonlóan bepróbálkozott. Csak erre még nem figyelt fel az EU, az amcsik meg még kevésbé. (Jahh, AMD procikra is szarabb kódot generál, korábban még a SIMD utasítások [SSEx] kihasználását is alaposan megnehezítették az utóbbin [ezért nem használta sok program AMD-n], a 3DNow!-t meg persze sosem támogatták.)
Tehát az első lépés az Intel fordítójának a bojkottálása kellene legyen. Csak pl. kissé ellene hat ennek az is, hogy nem minden optimizálási megoldás publikus.
Persze ott van még az endianess eltérése az x86 és PowerPC között, bár úgy tudom, a legtöbb PowerPC már mindkettőt ismeri.
Linuxon ez főleg nem lenne gond, hiszen ott eleve adott a GCC, mint alap C-fordító (csak az optimizálásán kellene reszelni, pl. a fent említett megoldásokat átültetni). Számos programnak van PowerPC "kiadása". Szóval a Windowst is bojkottálni kellene. :)
Azt amúgy ugye tudod, hogy a gépi kód már most is azonnal fordításra kerül az x86 procikban RISC jellegű kódra, és az hajtódik végre? Nos, az ilyen fix hw-es fordítás licenchez kötött, de van megoldás: a hasonló, de átprogramozható fordítás, ahol egy adott ISA emulációja program kérdése. Szerintem emulációhoz nem kell licence... (Azt hiszem, a Transmeta is ezt csinálta, csak kicsit megelőzte a korát.)