[elektro] xc16 optimalizáció mizéria

hg12345 hg12345 at freemail.hu
Thu Jun 22 08:07:10 CEST 2017


Kivéve ha static, mert ez megmarad, de ez meg nem látszik a többi függvényben.

Persze erre is van kivétel, ha függvény visszatérő értéke a static változóra mutató pointer, akkor ez jogosan használható a teljes programban.


Lajos Rancz <lajos.rancz at gmail.com> írta:
>Helló!
>
>Gyanús szaga van ennek a kérdésnek :) A függvényen belül deklarált változó
>scope-ja a függvényen belül van és csak ott értelmezhető. Ez a gyakorlatban
>azt jelenti, hogy a stacken jön létre. Ha ennek a változónak a
>referenciáját (címét) átadod egy olyan kódnak aminek az élettartama
>hosszabb mint a függvény futásának az ideje akkor a függvényből való
>kilépéskor a változód "eltűnik", felülíródik a stacken (egészen pontosan ez
>egy undefined behaviour => bármi lehet; semmilyen garancia nincs).
>
>Üdv
>
>
>2017. június 21. 21:38 Balla Zoltán írta, <sdrlab at yandex.ru>:
>
>> Sziasztok!
>>
>> Árulja már el nekem valaki, hogy miként lehet biztonságosan használni az
>> optimalizációt, amikor pl azt tapasztalom, hogy egy egyébként jól működő
>> függvényen belül deklarált változók közül a fordító van amelyiket
>> belefordít, de van olyan amit nem. Csak akkor, ha mondjuk elébiggyesztem a
>> volatile kulcsot. Pedig a függvényen belül használva van a változó, és
>> természetesen amikor nem fordítja be, el is száll a program már ebben a
>> függvényben.
>> Mi ennek a trükkje ?
>>
>> Zoli
>>
>> -----------------------------------------
>>          elektro[-flame|-etc]
>>
>-----------------------------------------
>          elektro[-flame|-etc]



More information about the Elektro mailing list