[OSy] Používání bit fields
Pavel Herrmann
morpheus.ibis at gmail.com
Fri Nov 30 08:17:44 CET 2012
On Friday 30 of November 2012 00:53:07 Martin Jiricka wrote:
> Dobrý den,
>
> rád bych se ujistil, zda není problém s používáním céčkovských bit
> fields, tj. třeba:
>
> struct s {
> unsigned int a:1;
> unsigned int b:7;
> };
>
> Asi je to zbytečná otázka, když v msimu (mi zatím) vše funguje, ale
> nikdy jsem je neviděl užívat a teď jsem si o nich četl nepěkné věci
> (přenositelnost, výsledný assemblerovský kód, apd.)
Problem by byt nemel, ale pokud to chces jako nekolik flagu tak je rychlejsi
pouzit explicitni & a usetrit si posun, pokud to chces jako jedno cislo a par
flagu na konci tak to same (masku na bity ktere jsou cislo). jedina situace kdy
bitfield opravdu setri praci je kdyz tam je nekolik cisel s ruznyma posunama.
explicitne si zaprve usetris posun, kterej v 99% pripadu nepotrebujes, zadruhe
je videt ze to je read-modify-write, takze ne atomicky
pokud mas rozumnej prekladac C tak bych problem s fungovanim nevidel, prece
jen je to soucast normy
Pavel Herrmann
More information about the NSWI004
mailing list