Re: C: co lze očekávat

Jindroush jindroush na seznam.cz
Pondělí Srpen 29 12:56:54 CEST 2016


Proste ukazovat pointerem mimo objekt a pak nad nim delat aritmetiku je 
nedefinovane chovani. Reseni neni rozcilovani, ale uprava kodu tak, aby 
dochazelo jen k definovanemu chovani.
J.

On 29.8.2016 12:53, Miroslav Draxal wrote:
>
> Je to hodně zjednodušené, to x se používá v programu. Nějak nerozumím 
> tomu, že si kompilátátor může dělat co chce. Je to char, obsahuje 
> hodnotu 0xff, po odečtení musí přetéct do nuly.
>
> *From:*Hw-list [mailto:hw-list-bounces at list.hw.cz] *On Behalf Of 
> *Jindroush
> *Sent:* Monday, August 29, 2016 12:35 PM
> *To:* HW-news
> *Subject:* Re: C: co lze očekávat
>
> Asi prijdu s Wekem po funuse, ale obecne je to x-- undefined behaviour 
> a kompilator muze delat, co chce ;-)
>
> http://stackoverflow.com/questions/18186987/decrementing-a-pointer-out-of-bounds-incrementing-it-into-bounds 
> i s odkazy na c99
>
> On 29.8.2016 12:22, Miroslav Draxal wrote:
>
>     Dobrý den,
>
>     Minulý týden jsem zde dával report o pnou předpokládané chybě c
>     XC8. Nějak v tom tápe i Michrochip. Mám dojem, že na tam mají
>     zaměstnaného studenta, který filtruje zprávy. Jednou píše že je to
>     OK, jednou že je to chyba. Co na to zdejší odborníci na C. O co jde.
>
>     Mějme následující kód.
>
>     char arrayA[3]@0x123;
>
>     char x;
>
>     x = 0;
>
>         x--; // x=0xff
>
>         if ( arrayA[x + 1]) {……..}
>
>     z jaké adresy má brát if prvek z pole array? Jedná se mi o ten
>     konstrukt x+1. X je char, čili přeteče na 0x00. Má ukazovat na 
>     0x123 nebo má brát konstrukt arrayA[x + 1]) přetečení a ukazovat
>     na 0x223?
>
>     U XC8 to teď to je tak, že pokud je array uloženo na 0x023 tak
>     toto ukazuje na adresu 0x023 a pokud je array uloženo na 0x123 tak
>     to ukazuje na adresu 0x223.
>
>     Jak to tedy je?
>
>
>
> -- 
> Jindroush<jindroush at seznam.cz> <mailto:jindroush at seznam.cz>
>
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list at list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list



-- 
Jindroush <jindroush at seznam.cz>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20160829/f2e89016/attachment.html>


Další informace o konferenci Hw-list