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