gcc na linuxu a zarovnavani struktur

Michal Kubecek kubecek na karlin.mff.cuni.cz
Pátek Leden 29 01:07:25 CET 1999


> Petr Novotny <Petr.Novotny na antek.cz> wrote:
> -> Nerikal bych i486 - vsechny x86 procesory to umeji. Jen to treba na 
> -> Pentiu trva trochu dele (prenos z pameti je zarovnavan, takze se musi 
> -> do pameti sahnout vickrat). Pokud vim, tak na nekterych procesorech 
> -> pristup na nealignovany pointer zpusobi exception, ktery operacni 
> -> system musi osetrit (=precist po jednotlivych bytech) - pak teprve 
> -> lze mluvit o pomalosti :-)

To je i na Intel x86 pro x>=4 pri nastavenem bitu AC v EFLAGS.
Ne snad ze bych vedel o nekom, kdo by to pouzival...

> Nuz bolo by dobre z akych dovodov potrebujete pakovat tie struktury. Ak ide
> o usporu miesta mozno by stacilo ich reorganizovat...

Nedavno jsem se s tim potykal a paradoxne duvodem muze byt prave
portabilita. Psal jsem aplikaci pro windows a soucasne software
pro WWW server, ktery zpracovava soubory produkovane touto aplikaci.
Zdalo se mi zrudne volat fwrite resp. fread na kazdou datovou polozku
jedne tridy zvlast, takze jsem si vyrobil pomocnou strukturu, do niz
zkopiruju ukladana data a ulozim ji na disk celou najednou. A tady
prave potrebuju mit kontrolu, co se na ten disk vlastne ulozi.

                                                       Michal Kubecek


Další informace o konferenci Linux