Deathcrow
22-06-2008, 14:18
Hallo!
Bei folgender Zuweisung passiert etwas merkwuerdiges.
"p->digits[0] = 0"
p->digits[0] ist vom typ "uint_32".
Bei Zuweisung von anderen Zahlen (1,5, 42... hab ein paar ausprobiert) gibt es kein Problem. Nur wenn ich versuche dem Element eine 0 zuzuweisen passiert folgendes (Auszug von gdb):
1: p->digits[0] = 0
(gdb) si
0x000016f2 84 p->digits[0] = 0;
1: p->digits[0] = 4
(gdb)
0x000016f4 84 p->digits[0] = 0;
1: p->digits[0] = 1028
(gdb)
0x000016f6 84 p->digits[0] = 0;
1: p->digits[0] = 263172
(gdb)
85 p->ndigits = 0;
1: p->digits[0] = 67372036
Ich bin leider ueberhaupt kein C Profi und der ganze Code ist ein bisschen komplex, deswegen weiss ich nicht was ich da noch hier reinkopieren soll.
Vielleicht hat ja einer von euch eine spontane Idee was die Ursache fuer so ein merkwuerdiges Verhalten bei Zuweisungen von 0 sein koennte.
PS: das programm laeuft uebrigens auf einem atmega32 mikrocontroller, da koennen also auch noch andere sachen mit reinspielen. aber so ein problem hatte ich noch nicht. und so eine C zuweisung ist ja eigentlich recht straight-forward.
Bei folgender Zuweisung passiert etwas merkwuerdiges.
"p->digits[0] = 0"
p->digits[0] ist vom typ "uint_32".
Bei Zuweisung von anderen Zahlen (1,5, 42... hab ein paar ausprobiert) gibt es kein Problem. Nur wenn ich versuche dem Element eine 0 zuzuweisen passiert folgendes (Auszug von gdb):
1: p->digits[0] = 0
(gdb) si
0x000016f2 84 p->digits[0] = 0;
1: p->digits[0] = 4
(gdb)
0x000016f4 84 p->digits[0] = 0;
1: p->digits[0] = 1028
(gdb)
0x000016f6 84 p->digits[0] = 0;
1: p->digits[0] = 263172
(gdb)
85 p->ndigits = 0;
1: p->digits[0] = 67372036
Ich bin leider ueberhaupt kein C Profi und der ganze Code ist ein bisschen komplex, deswegen weiss ich nicht was ich da noch hier reinkopieren soll.
Vielleicht hat ja einer von euch eine spontane Idee was die Ursache fuer so ein merkwuerdiges Verhalten bei Zuweisungen von 0 sein koennte.
PS: das programm laeuft uebrigens auf einem atmega32 mikrocontroller, da koennen also auch noch andere sachen mit reinspielen. aber so ein problem hatte ich noch nicht. und so eine C zuweisung ist ja eigentlich recht straight-forward.