On Tue, 23 Mar 2004, zavandi wrote:
> Variabila mea pe 3 bytes era: 'char d[3];'.
>
> printf("%d\n", sizeof(char[3])); da valoarea 3. Te asteptai la altceva?
Daca era struct {char a,b,c;} da (nu ai precizat ce variabila este).
Am intrebat si eu pe unii "mai mari" si se pare ca gcc aliniaza
array-urile la 32 bytes (sa incapa intr-un "cache line") si chiar de la
gcc >= 3.3 cica adauga un byte in plus la arrays ca sa "prevent off-by-one
overflow exploits".
Hope this helps ... :)
--
Mihai RUSU Email: [EMAIL PROTECTED]
GPG : http://dizzy.roedu.net/dizzy-gpg.txt WWW: http://dizzy.roedu.net
"Linux is obsolete" -- AST
---
Detalii despre listele noastre de mail: http://www.lug.ro/