Van ami mindig eszembe jut neha...

Ez ugyan nem most, hanem 6 eve tortent velem, de ha eszembe jut meg
mindig nehezen alszom el estenkent. :D

Szoval irtam C++-ban egy *kicsit* hosszabb - cca. 2000 sor, mar nem tom -
programot, ami az egyik forditas utan mar furan mukodot.
Mit lehet ilyenkor tenni mint gdb, azaz hogy lusta modon ddd. Kb 1 nap alatt lokalizaltam mi kukodik furan, hihetetlenul.
Utana 1 het volt megszulni miert. - A pelda utan nevethettek, hogy
azert ez eleg nyilvanvalo, de hidjetek el, akkor ott nem volt az. Ma mar a g++
is warningol ra akkor nem tette. Eloszor nem er csak -W* nelkul kiprobalni....

Most egy apro kodreszletben reprodukalom a dolgot, hogy mi benne a plane azt persze
gonosz modon nem arulom el...


int
main(void)
{
   int i = 0;   //**********************\
   i++;         // Szoval menny is az i |
   i++;         // a program vegere?    |
   i++;         // echo $? megmondja... |
   i++;         //**********************/
   return i;
}

Hozzászólások

Hát ez nagyon szar élmény volt, simán beszoptam :)
Pont ott van a hiba, amire nem is gyanakodna az ember.
__________
0x2A

Na. En nem szoptam be, mert az echo utan bemasolt cuccot forditottam le, es az mar ugy gondolta, mint majd a fordito fogja gondolni :)

Egyebkent tavaly vmikor progamzasbol olyan feladatsort allitott ossze az egyik tanar, hogy a kulonbozo forditok kulonbozo beallitasaival mas eredmenyek jottek ki. Abban az esetben egyebkent tomb[indexei++] voltak inkrementalva, neha ilyen ertekadassal: tomb[--index] = ertek;

Egyebkent vegiggondoltuk az egeszet A C konyv precedenciatablazata szerint is, es erre kijott egy ertek, mig a kulonbozo forditokkal teljesen mas :) Egyebkent valahol fent van a "problema" itt a HUPon is forumban, de mar nem emlekszem ra, hogy hol.

ezek a franya kommentek, csak a gond van veluk :)

Én lusta voltam, hogy végigokoskodjam, ezért bemásoltam VImbe, hogy majd lefordítom a .c file-t. A színezés viszont rögtön lebuktatta. :)

--
Sokan nincsenek tudatában annak, / hogy egyszer mindenki meghal. / Akik ráébrednek erre, / azonnal abbahagyják az ellenségeskedést.

Nem copy-paste-eltem, hanem begepeltem az erdemi reszeket, es kerestem, hogy megis mi nem stimmelhet nalad. :)

Amit egyszer fel napig uldoztem az a kovetkezo formaban jott elo:


for(... ;... ;...); {
...
}

Ezen mondjuk sokat segitett volna, ha a for fejleceben deklaralt valtozo nem "szivarog" ki, mint ahogy Javaban sem.

gonosz ez is, hihetetlen milyen jo nyelv is a C/C++. At kene ternem lisp-re :)

amugy hala egnek mar nem szivarog ki: name lookup [..] changed for new ISO `for' scoping
====================
`Have some wine,' the March Hare said in an encouraging tone.
Alice looked all round the table, but there was nothing on it but tea.

ajanlom figyelmedbe a gcc preprocessor outputjat: gcc -E -o test.pre.c test.c

btw, ezt az ocsmany komment strukturat obfuscated c contesten kivul hasznalva is komolyan gondolod?

btw, ezt az ocsmany komment strukturat obfuscated c contesten kivul hasznalva is komolyan gondolod?

Nem, mar nem. Sot egyetertek. Akkor meg eleg kis C++ tapasztalatom volt. Mostanra
hala eg azt is elfelejtettem :)
====================
`Have some wine,' the March Hare said in an encouraging tone.
Alice looked all round the table, but there was nothing on it but tea.