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