( joco01 | 2017. 12. 28., cs – 12:08 )

Az állításom nem volt hamis, maximum nem eléggé jól megfogalmazott. Azt írtam, hogy HA nem bugos a fordító, AKKOR nincs értelme többször újrafordítani saját magát (ha-akkor logika, teccikérteni?). Bugos alatt azt értem, hogy természetesen ha valaki direkt azt akarja, lehet olyan (szar) kódot is írni, amire ez nem igaz (tehát kihasználod egy fordító/nyelv nem definiált viselkedést). De ki tenne ilyet és miért? Azt továbbra is nagyon erősen gyanítom (de nem ellenőriztem le), hogy a GCC nem ilyen. Tehát a GCC következetesen fordít. Akárhányszor fordítod újra saját magát, ugyanúgy fog működni. Lehet, hogy a bájtkódban, vagy a performance-ban mérhetetlen kicsi különbség lesz, de a definiált C nyelv keretein belül határozottan ugyanúgy fog működni. Ez volt a nyitó kérdés, erre válaszoltam, hogy nem, nem érdemes újrafordítani a GCC-t saját magával.

Azt szeretném kérdezni, hogy te mivel vitázol? Avval, ahogyan megfogalmazom az állításomat? Jó, lehet vitázni arról, hogy a nem definiált működést alkalmazó+GCC verziók között eltörő+hordozhatatlan kód szar-e vagy sem, aki így szeret kódolni, hajrá. Vagy avval vitázol, hogy milyen következtetésre jutottam? Szerinted ha egy GCC 1x illetve 2x újrafordítasz magával, lényegi szempontból eltérő lesz az eredmény? Pl. az első eredmény egy C fordító lesz, a második körben már egy képernyővédő, a 3. újrafordítás után a Quake II? Vagy a 3x újrafordított GCC máshogyan fogja értelmezni a char típust? Vagy ha 1000x újrafordítod, akkor annyira optimális lesz az eredmény, hogy fénysebességgel fog fordulni minden? Én továbbra is a téma nyitókérdésére keresem a választ.