OT bitove polia a efektivita; Was: pointery C

Jan Waclawek konfera na efton.sk
Čtvrtek Květen 23 11:59:54 CEST 2013


>No, za èistì administrativní pøeká¾ku bych to nepova¾oval.

Ano - ocividne je tu aj vyznamna psychologicka prekazka... :-)

>Prvek 
>bitového pole prostì nejde jednoznaènì adresovat. Nedostanete tam 
>informaci, pro který bit ta adresa je.

Coby nie. Treti bit osemdesiateho piateho bytu, to sa mi zda ako
jednoznacna informacia aby som k tomuto bitu pristupil, a da sa lahko
ulozit do beznej pamate.

Naviac, Vas do toho, co je obsahom pointra, nic nie je. To je ciste
zalezitost prekladaca, ktory musi zabezpecit jedinu vec (teda este okrem
nejakych konverzii a pointrovej aritmetiky), ze ak p=&o, *p spristupni
objekt o. Ako to urobi, je jeho vec.


>Za zásadní pøeká¾ku bych pova¾oval to, ¾e by se musela zmìnit celková 
>koncepce ukazatelù.

Nie, len sa musi zmenit Vas pohlad na pointre (t.j. sa musite zbavit
predstavy, ze to *je* fyzicka adresa pouzivana priamo v tej podobe
procesorom v pamatovo orientovanych operaciach).


> A pøiznejte si, kvùli získání ukazatele na polo¾ku 
>bitové pole by ta námaha nestála. 

To je Vas uhol pohladu.
Z mojho pohladu je napr. ++ koncepcia, ktora stoji neskutocne mnozstvo
namahy, a nestoji to za to.

>A sní¾ila by se efektivita práce s 
>ukazateli (musel by nést informaci o pozici bitu -> více pamìti ....). 

Len pointer na bit. Ostatne pointre by zostali nedotknute. Dokonca u
typickych jednocipov ktore maju <<64kB RAM a 16-bitove pointre, sa da taky
bitovy pointer naimplementovat v pohode aj do tych 16 bitov.

Znova sa musite oprostit od predstavy, ze vsetky pointre musia byt navzajom
kompatibilne ba ci dokonca musia mat rovnaku vnutornu reprezentaciu.
Nemusia. Ziadna taka poziadavka v jazyku nie je; a je to zamerne tak.


>Nedoká¾i si pøedstavit rozumnou praktickou implementaci.

Naopak, mne sa to zda pomerne jednoduche (teda pre toho, kto je vo
vnutornostiach konkretneho kompilera zorientovany).


>Jsem asi hloupý, ale ukazatele v C pova¾uji za jednoznaènì specifikované 
>a tudí¾ je chápu jako striktnì definované. 

Ako som uz bol pisal, vnutorna implementacia pointrov vobec nie je striktne
definovana, presnejsie, vobec nie je definovana; je definovane ich
spravanie.

http://list.hw.cz/pipermail/hw-list/2013-May/440948.html



wek




Další informace o konferenci Hw-list