OT - Prosim o radu s C
Jiri Foldyna
jiri.f@avizo.cz
Úterý Srpen 29 22:20:50 CEST 2006
Dobry vecer,
> Cela moje diskuse s p. Waclawkem vysla z toho, ze jsem
> prohlasil, ze je
> odpudiva pascalstina, kdyz je delka pole soucasti typu, na
> coz mi bylo
> odporovano, ze kvuli tomu, ze to C nehlida, ze je tolik
> buffer overrunu. A
> pak to jelo. Tj. bavim se celou dobu o mojem tvrzeni, ze
> automaticky range
> check na poli je nesmysl a zbytecnost po pojidace kolacu. ;-)
S tim nesouhlasim. Je to nastroj, ktery poskytuje kompilator. O jeho pouziti
se rozhoduje programator, a je na nem, jestli jej pouzije nebo ne. Zrovna
tak bych mohl jako byvaly asemblerista prohlasit totez o kterekoli
konstrukci z vyssich programovacich jazyku. Cele je to o tom, jak napomoci
psani spolehlivych programu.
> Mno ale to se dostavame nekam uplne jinam. Tady se opravdu
> muzeme dostat k
> tomu, co je 'krasna teorie' - tj. dostanu objekt a ten se
> postara, popr.
> dostanu objekt, ktery se nepostara, ale dostanu staraci
> funkce nebo si je
> napisu podle spravne dokumentace. Nebo praxe - napsalo to
> prase a ja se
> kvuli tomu muzu zblaznit.
To je prave zeleny strom zivota. Nikdy nemuzete doufat, ze budete mit
idealni podminky, a pak se hodi kazda pomoc.
> Doufam, ze se muzeme shodnout aspon na tom, ze v okamziku,
> kdy pouziju
> 'spatny' pointer, tak uz je pozde cokoli resit - exception me
> nezachrani.
Exception Vam umozni reagovat na situaci, kterou jste v dobe psani programu
neocekaval. V havarijnim pripade to muze byt rozdil mezi malou a velkou
skodou. Delal jsem ridici systemy, vim, o cem mluvim.
> Takze chyby preteceni bufferu apod. me netrapi. A moje oblibene -
> nedostatecna dokumentace a 'vecne' smycky, tak tam mi zadny runtime
> tentononc nepomuzou.
Vecna smycka je fakt problem, pokud to neni ve Vasem kodu. Pak to jde resit
jen pomoci podrizeneho vlakna (u Woken) nebo procesu (u slusneho realtimu),
a kontrolou na timeout.
Co je to dostatecna dokumentace ? Uz jste nejakou videl :-)))
Zdravim
Jiri Foldyna
Další informace o konferenci Hw-list