Re: Chyba v C - velmi podivné chování

Vláďa Anděl vaelektronik na vaelektronik.cz
Středa Duben 22 09:09:29 CEST 2020


Jej, to se tady dozvídám věci. Používám Keil, protože dělám se silabsy 
(8051) a i když (dnes už málo kdy) při ladění něco v programu krokuju po 
instrukcích, nevšim jsem si, že by tam bylo něco jinak, než jak to mám 
napsané. Ale je fakt, že jsem se ani nedíval do nastavení překladače, 
jestli tam nějakou optimalizaci mohu zapnout. Ale tenhle Keil, co dávají 
k vývojovému prostředí Silabs zadarmo (dá se přepínat na 8051 a na ARM), 
mi připadá nějaký ošizený. Starý Keil, který má kolega ještě za peníze, 
dokáže kombinovat c a  asm. Ten zadarmo to z nějakého důvodu neumí a co 
jsem se díval, na fóru Silabsu se to probírá už pěkných pár let, tahle 
"chyba" se táhne přes spoustu verzí.
Teda je fakt, že ten asm, bez kterého jsem se dřív občas neobešel, s 
přechodem z klasické 8051 na silabs pro mě ztratil význam. Jednak 
časovače mají mnohem širší možnosti než u klasické 8051 a taky pipeline 
architektura občas některé instrukce dělá na víc/méně strojových cyklů 
podle toho, co je za nimi. Takže tím nějaké přesné počítání strojových 
cyklů v asm ztrácí význam.

Anděl

Dne 22.04.2020 v 8:16 Tomáš Hamouz napsal(a):
> Re: Chyba v C - velmi podivné chování To je standardně zažitý omyl, 
> který se traduje z dob kdy překladače příliš neoptimalizovaly.
> Současné překladače dělají hodně dobrou práci.
>
> Pokud mohu mluvit z vlastní zkušenosti a pokud je možno ARM považovat 
> za mikročip, tak mě naopak překvapuje
> kde všude překladač (GCC) inlinuje, a to i v případě že mám 
> optimalizaci nastavenou na Debug.
>
> Nehledě na to že lze použít  __attribute__((always_inline)).
>
> Tomáš
>
>
> *> Ako obcasny programator si dovolim povedat ze rozbijanie do funkcii 
> je super vec a
> > a sprehladnuje kod, ale vo svete mikrocipov mi to moc nesedi. Tam to 
> intuitivne laka
> > k efektivnejsiemu kodu aj co sa tyka zbytocnych volani. Predsa je to 
> rezia navyse
>
> > j.
>
> > -----Original Message-----
> > From: Hw-list [mailto:hw-list-bounces na list.hw.cz] On Behalf Of Jan 
> Waclawek
> > Sent: 21. apríla 2020 22:07
> > To: HW-news
> > Subject: Re: Chyba v C - velmi podivné chování
>
> > Ja som po urcitom case prisiel na to, ze privela pismeniek je
> > rovnako zle ako primalo. Samozrejme je tazke utrafit nejaky zlaty
> > stred; a co je este tazsie, je utrafit tie spravne pismenka a ich
> > spravnu polohu tak, aby to pomohlo mojmu buducemu ja prip. niekomu 
> inemu.
>
> > A tie "coding standards" typu hlavicka funkcie a rozbijanie do
> > funkcii su podla mna vo vacsine pripadov kontraproduktivne (to je
> > samozrejme slovo do bitky, rovnako zbytocnej ako su napr. diskusie o
> > zatvorkovaco-zalamovacich styloch (zbytocnej, pretoze sa ma pouzivat 
> len a len One True, samzorejme)).
>
> > V tomto konkretnom pripade by som ja asi pouzil tu pomocnu
> > premennu; ale co je podla mna ovela dolezitejsie je, ze ak by som aj
> > zachoval ten vyraz tak ako je, rozbil by som ho do jednotlivych
> > riadkov a kazdy riadok by som okomentoval; vratane toho finalneho 
> porovnania s cislom 3.
>
> > wek
>
>
> *

------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20200422/9b2e5075/attachment.html>


Další informace o konferenci Hw-list