bitfield v avr-gcc
Miroslav Sinko
sinkomiro@rocketmail.com
Středa Červen 18 22:45:40 CEST 2008
>> Dospeli sme k tomu, ze v C to nejde,
>K tomu si dosiel Ty.
Pri vsetkej ucte, uz to prestava mat zmysel. Pointre v C su adresy na objekty, kde najmensi je byte. Poinetry na vacsie/ine typy hovoria prekladacu, ako pouzivat pointerovu aritmetiku. Na mensie typy poinetry nie su. Ale to sa uz opakujem. Ak som teda ja dospel k chybnemu zaveru, nemal by byt problem mi to vyvratit sporom, ze. Na nete je plno info, nech sa paci. Ja som sa v norme docital toto:
106) The unary & (address-of) operator cannot be applied to a bit-field object; thus, there are no pointers to or arrays of bit-field objects.
>C je taky bastard nepodareny, ad-hoc a zle zadefinovany, ktory sa len
>vdaka takymto hackom moze vyvijat - vid prave sizeof a jeho magicke
>vlastnosti.
Tvoju averziu k C pozname, davas ju najavo pri najmensej zamienke. To ale nic nemeni na definicii jazyka.
>Samotny standard sa nijako nebrani rozsireniam, akurat sa
>clovek tym vzdava prenositelnosti, no ale prenositelnost u malych
>jednocipov je aj tak len marketingovy kec.
Hlavne, ze mne vytykas neportabilitu (mimochodom plne portabilnej) konstrukcie.
>> tak som sa opytal aj na ine jazyky. Ciste pre inspiraciu, alebo
>poucenie, ako sa to da - ak sa to vobec niekde da.
>Samozrejme ze sa to da. Flag predsa nie je nic ine ako typ boolean, ktory
>je hadam vo vsetkych vyssich jazykoch (a samozrejme mozes mat polia
>bitov, mat ich v strukturach, mat na ne pointre atd.; nemozes ich volne
>priradovat inym typom a naopak, mozes na nich robit len logicke operacie
>takze sa neda pomylit, atd.) V Pascale mozes vytvorit ordinalny typ s
>tolkymi prvkami kolko chces, a je vec prekladaca, ako to prelozi, nic
>nebrani prekladacu optimalizujucemu pre jednocipy to prelozit s minimom
>potrebnych bitov. Znova su k dispozicii pointre a kompletny aritmeticky
>aparat. Je pravda ze v Pascale nie je definovane priame priradenie
>premennej ci bitu absolutnej adrese (ako ani napr. endianovost) ale to v
>konecnom dosledku nie je ani v standardnom C a je to implementacne
>zavisle (a casto ide o rozsirenia). Wirthov argument na tuto vec je
>typicky sovinizmus z velkych pocitacov, a to ze strojovo zavisle veci
>maju byt izolovane ovladacmi a operacnym systemom, a tieto nemaju byt
>kvoli efektivite pisane vo vyssom jazyku (ale v asembleri).
Dik za info, detaily Pascalu nepoznam - preto som sa pytal na ine jazyky.
>wek
miro
Další informace o konferenci Hw-list