Re: Odpověď: Re: Sou?et v C - neni pro PIC jiny kompilator?

Lukas Grepl L.Grepl
Středa Březen 17 14:29:13 CET 2004


> druhou stranu pomaly a ma malo pameti. Proto je optimalni pouzivat
> assembler. 2000 radek, jak pise pan Grepl neni zadna katastrofa a
> nezvladnutelnost. Na PC existuji programy mnohonasobne vetsich rozsahu a
je
> to zvladnutelne. Prosim neberte to jako vychloubani ale jsem autorem

Dovolim si reagovat, kdyz uz tu zaznelo me jmeno ... nerikam ze 2000 radek v
C je nejak extremne dlouhy program ani to ze by nesel napsat v assembleru -
ale kdyz vezmu vynalozene usili (premysleni nad konkretni implementaci v asm
misto toho, ze to rovnou napisu v C), prehlednost programu, jeho portabilitu
a dalsi aspekty, zda se mi, ze pomerne jednoznacne vede C.

Navic vyhoda prekladace je v tom, ze si hlida spoustu veci, nad kterymi se
da ve vetsim programu (v asm) snadno ztratit kontrola - napr. alokace
lokalnich prommennych nebo prepinani bank pameti a stranek programu a
dalsi..

Samozrejme muzete namitnout, ze se tohle da resit v asm tak ci onak. Ano,
vsechno se da .. ale proc? Z presvedceni, ze pro MCU je lepsi assembler?
Program v C pro MCU neni nutne narocnejsi ci pomalejsi - muze samozrejme
byt, pokud ho tak nekdo napise - ale to uz je o programatorskem stylu a ne o
pouzitych prostredcich - pokud je program v C rozumne napsany, tak je
efektivita kodu srovnatelna s asm.

Navic program v C se da s mnohem mensimy problemy portovat na jiny typ
procesoru stejne rady (prakticky jen zmenim target processor, nemusim
premyslet o jinem rozlozeni pameti apod..), ba dokonce na uplne jinou
platformu (napr. PIC -> x51 - v kodu v C bude jiste potreba nekolik uprav,
ale v assembleru je takove portovani nemyslitelne).

P.S. ja jsem pro MCU psal dlouhou dobu jen v assembleru, ale od te doby (asi
rok zpet), co jsem se donutil naucit se C a zacit ho pouzivat pro MCU, tak
na nej nedam dopustit, v asm pisu jen sem tam nejake vychytavky

P.P.S. at si kazdy programuje v cem chce, hlavne ze bude vysledna aplikace
fungovat ... nemyslite?

S pozdravem
Lukas Grepl, OK2WDT





Další informace o konferenci Hw-list