
[ Home | Liste | F.A.Q. |
Risorse | Cerca... ]
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