Re: Jádro pudla (Cernobily svet) :-)

Ales Prochaska prochaska@alsoft.cz
Sobota Březen 4 11:55:19 CET 2006


No, jak kdy. Staci to spatne predat jako parametr procedury a na maler
je zadelano :-)

Uvedeny zapis se da jeste vydrzet. Spis mi vadi veci jako

while(a--){b()}

protoze je to sice kratsi nez treba ekvivalent v Pascalu ale zase se z
toho hur rozpozna, jestli je dulezite aby hodnota "a" byla po skonceni
cyklu -1 resp. byla zmenena pokud cyklus neprobehne ani jednou ci
jestli je to jen trpeny vedlejsi efekt atd. Ale to je uz na delsi
debatu do ktere - omlouvam se - se uz nemam silu poustet. Po
vyplytvani mnozstvi prace jsem pochopil, ze lidi to takhle proste
chteji a hotovo :-)))

Ales Prochaska

> To prece neni pravda. Kdyz mate pole s prvky typu struct, pak prekladac C
> zahlasi chybu, kdyz do toho cpete neco jineho. Jiny pripad je void *, to je
> cunarna. Nekdy ale neni zbyti.

> Navic opet existuji prekladace, ktere kontroluji meze pole.

> Co vidite spatne na zapisu "PORTA->PD &= ++shadowA;"???


> --
> S pozdravem/with best regards

>     Ing. Tomáš Dresler

> mailto:edison@hw.cz
> http://edisonovo.info

>> -----Original Message-----
>> From: hw-list-bounces@list.hw.cz 
>> [mailto:hw-list-bounces@list.hw.cz] On Behalf Of Ales Prochaska
>> Sent: Saturday, March 04, 2006 11:25 AM
>> To: hw-list@list.hw.cz
>> Subject: Re: Jádro pudla (Cernobily svet) :-)
>> 
>> 
>> No prece ze drobna chyba v logice programu nebo preklep pri 
>> jeho kodovani muze zpusobit prepsani kodu daty a v okamziku 
>> prekladu neni v moci prekladace rozpoznat, ze za chodu 
>> programu k necemu takovemu muze dojit.
>> 
>> Ales Prochaska
>> 
>> > On Sat, Mar 04, 2006 at 10:41:46AM +0100, Ales Prochaska wrote:
>> >> Je napsanej v příšeným C. Já to zkusím vysvětlit, ale 
>> prosím nebijte 
>> >> mě, jestli z toho bude nějaký flame.
>> >> 
>> >> C si historicky nese už od svého vzniku jeden podstatný problém, 
>> >> totiž že nemělo pole. V manuálu se sice psalo, že pole má 
>> ale není to 
>> >> tak - mělo jen několik syntaktických featur jak neexistenci pole 
>> >> obejít (mluvím hlavně o pointerové aritmetice (pak jsou tam ještě 
>> >> nějaké nepodstatné drobnosti jako že index pole v závorkách je 
>> >> vlastně ekvivalentní dereferenci pointeru s přičteným indexem)). 
>> >> Milovníci C povýšili význam pointer = pole na základní pravdu a 
>> >> stavební kámen vesmíru a tato původně dočasná záplata 
>> (sami Kernihgan 
>> >> s Ritchiem psali, že v příští verzi C tento nedostatek 
>> odstraní) se 
>> >> dodnes táhne celým vývojem jazyků typu C a různými návaznostmi 
>> >> způsobuje problémy kde může. Přitom její odstranění by nezpůsobilo 
>> >> žádné podstatné problémy kromě nevole milovníků kryptických kódů.
>> 
>> > Eee? A co to ma spolecneho s problemy jednoho adresniho 
>> prostoru pro 
>> > kod i data?
>> 
>> >> Pak mám v C spadeno ještě na několik blbinek (typu postinkrement, 
>> >> operátor čárka, princip že přiřazovací výraz má hodnotu 
>> apod.), ale 
>> >> výše uvedené je to nejdůležitější.
>> 
>> > To jsou imho velmi uzitecne veci. Ale nikdo vas nenuti je uzivat;)
>> 
>> > P.
>> 
>> 
>> 
>> _______________________________________________
>> HW-list mailing list  -  sponsored by www.HW.cz 
>> Hw-list@list.hw.cz http://list.hw.cz/mailman/listinfo/hw-list
>> 

> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list@list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list





Další informace o konferenci Hw-list