Dalsi zahada v C -> Prevod long int na string
Tomáš Hamouz
hamouz na alsoft.cz
Úterý Červenec 26 11:16:52 CEST 2011
Obdobná zkušenost s Keilem z nedávné doby.
S optimalizací nefunguje, bez optimalizace ano. Navíc jsou tam dvě
obdobné procedury, jen se liší použitou periférií (nevyplatilo se to
dělat s parametrem). Jedna funguje, druhá ne.
Pohled do assembleru ukázal, že se při optimalizaci zoptimalizovala
jedna podmínka tak, že se zcela vypustila druhá polovina. Pomohlo
selektivní nastavení optimalizace jen pro část kódu.
Co mě na tom nešlo do hlavy je že se chyba projevila jen v jedné
proceduře, i když byly jinak totožné. A navíc se chyba projevila až po
úpravě na úplně jiném místě. :-(
Tomáš
JS> No tak vite kde je mozna chyba! Bud ve vasi implementaci nebo v
JS> kompileru. Ted jeste v kritickem miste si precist
JS> assembler a bude jasno.
JS> ced
JS> P.S. Sice se zivim programovanim, ale je to jen cast me prace. Za
JS> 8 let programovani jsem narazil na 5 chyb v komilatorech.
JS> Jedna krasna. Program nedela co ma, prikladac keil 51. Pridam na
JS> kriticke misto ladici hlasku. Dela to co ma. Pripadam si
JS> jak idiot, odstranim ladici hlasku. Nedela. Asi jsem dementni.
JS> Pridam NOP. Dela. Uberu nop. Nedela. Cumim na to jak
JS> karkulka na vlka. Ctu ASM, a co myslite. Byla tam chyba v
JS> optimalizaci :-). Bez optimalizace to tenkrat neslo, neveslo by
JS> se to do pameti. Tak jsem to prepsal a kaslal na to. Hadal jsem
JS> se Keilem jednou a stacilo mi To:-(
Další informace o konferenci Hw-list