Mihai RUSU wrote:
> Daca era struct {char a,b,c;} da (nu ai precizat ce variabila este). 

Incearca asta:

         printf("%d\n", sizeof(struct {char a,b,c;}));

Cred ca o sa ai o surpriza.:-)

Si se vedea clar ce variabila am folosit in mesajul care a inceput 
thread-ul asta.

> 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".

Daca ai intrebat pe o alta lista de discutii poti sa-mi spui pe care? Ca 
tocmai m-am inscris si eu pe alte liste ca sa pun aceeasi intrebare.

Din cate am testat eu nu mi se pare deloc ca gcc-ul (versiunea 3.3.2) ar 
alinia tablourile la 32 bytes, dar chiar daca ar fi asa nu ar explica 
comportarea gcc-ului pe care am observat-o eu.


--- 
Detalii despre listele noastre de mail: http://www.lug.ro/


Raspunde prin e-mail lui