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/


Raspunde prin e-mail lui