[ Home | Liste | F.A.Q. | Risorse | Cerca... ]


[ Data: precedente | successivo | indice ] [ Argomento: precedente | successivo | indice ]


Archivio: devel@sikurezza.org
Soggetto: Re: [info-request] 386-686
Mittente: Alessandro Razeto
Data: 18 Oct 2003 23:16:56 -0000
On Thu, Oct 16, 2003 at 10:17:56 +0200, antirez <antirez@xxxxxxxxxx> wrote:
> On Fri, Sep 26, 2003 at 11:19:46PM +0200, zogs wrote:
> > Salve
> > Una piccola domanda.
> > Premetto che e' da poco che giro su un 686.
> > 
> > Sui 386:
> > la memoria puo' essere indirizzata solo in multipli
> > della "parola" (una parola e' composta da 4 bytes), 
> > quindi un array da 4 char occupa 1 parola, un array 
> > da 5 char occupa 2 parole e cosi' via, 
> > 
> > Sui 686, vale la stessa regola?
> 
> Ciao,
> 
> la regola non vale per nessuno dei due processori,
> su x86 gli accessi possono essere non allineati,
> il processore sara' piu' lento ad accedere ma non
> si lamentera' (non generera' una eccezione).
> 
> Il compilatore ovviamente non si basa sul fatto che
> accessi non allineati non causano eccezioni, ma tenta
> di generare codice veloce, dunque allinea i vari
> campi delle strutture in modo che abbiano un allineamento
> naturale (o piu' in generale atto a garantire le
> performance maggiori senza uno spreco eccessivo
> di memoria).
Vedi anche #pragma pack() su gcc

Ciao

________________________________________________________
http://www.sikurezza.org - Italian Security Mailing List




[ Home | Liste | F.A.Q. | Risorse | Cerca... ]

www.sikurezza.org - Italian Security Mailing List
(c) 1999-2005