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