Problem s pameti
Jaroslav Benkovsky
benkovsk na pha.pvt.cz
Středa Únor 25 11:43:13 CET 1998
Pavel Pecina wrote:
>
> >> Kdo dela s tou pameti chybu? Ja, Linux nebo ten Sun?
> >>
> >Vy, samozrejme ... ;-)). Zkusil bych na tom Sunovi dumpnout core a potom
> >vyzdimat z gdb, kde to spadlo. Ze svych programatorskych zkusenosti Vam
> >muzu poradit jenom "to muze bejt skoro vsude" (hlavne takovy veci jako
> >derefernce pointeru + velikosti jednotlivych typu, proste fsecko, co se
> >blbe hleda).
>
> OK. OK.To je mi jasny. Ale proc to v Linuxu projde a na tom Sunu ne?
> Linux si to mene hlida, ci co?
Muze (je to jen priklad, Suny neznam) byt rozdil treba v tom,
jestli je defaultne char signed nebo ne. Potom treba indexovani
pole promennou typu char nebo mix char a int ve vyrazech muze davat
rozdilne vysledky.
Nebo jak tady uz nekdo zminil, lisi se velikost typu long - takze
pokud jste nekde dimenzoval podle velikosti int a ted v nem skacete
pomoci
long *p;
int a[100];
int i;
p = (long*)a;
for (i=0; i<100; i++) { *p = 0; p++; }
Je ten sun big endian (jako SGI), nebo little endian jako Intel?
Problemy muzou vzniknout treba tim, kdyz skladate int z jednotlivych
bytu, anebo tim, ze u socketu se to naopak se zmenou endianu
nemeni (myslim).
etc....
Edheldil
Další informace o konferenci Linux