-
Data: 2009-02-11 15:43:12
Temat: Re: Odczyt z rejestru w C
Od: "T.M.F." <t...@n...mp.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]> Jeżeli rejestr jest volatile (powinien być) to kilka razy. Jeżeli nie jest,
> to nie jest określone (zależy od optymalizacji) i nie można niczego założyć.
>
>> Jak to będzie w przypadku instrukcji switch ?
>
> Zawsze tylko raz.
Tez nie bylbym taki pewien. Wszystko zalezy jak to potraktuje
optymalizator i jak masz zapisane sekcje, np.:
switch (rej) {
case 1 : costam; break;
case 2 : costam;
case 3 : costam;
};
Po pierwszej sekcji nastepuje koniec sprawdzania, natomiast przy 2 po
jej zakonczeniu przechodzi do warunku nr 3, co moze wiazac sie z
ponownym odczytem zmiennej rej. Dodatkowo kompilator jesli jest wiecej
case moze zrobic z tego jump table, zamiast sekwencji porownan.
Zeby miec pewnosc w przypadku zmiennych, ktorych wartosc moze sie
zmieniac pomiedzy porownaniami obowiazkowo trzeba je definiowac jako
volatile, inaczej to co zrobi kompilator zalezy od optymalizacji i zadne
zalozenia nie sa gwarantowane.
Następne wpisy z tego wątku
- 11.02.09 23:45 Artur M. Piwko
- 12.02.09 08:18 J.F.
- 12.02.09 17:25 Pszemol
Najnowsze wątki z tej grupy
- Obcinaczki z łapaczem
- termostat do lodowki
- SEP 1 kV E
- Aku LiPo źródło dostaw - ktoś poleci ?
- starość nie radość
- Ataki hakerskie
- Akumulatorki Ni-MH AA i AAA Green Cell
- Dławik CM
- JDG i utylizacja sprzetu
- Identyfikacja układ SO8 w sterowniku migających światełek choinkowych
- DS1813-10 się psuje
- Taki tam szkolny problem...
- LIR2032 a ML2032
- SmartWatch Multimetr bezprzewodowy
- olej psuje?
Najnowsze wątki
- 2024-12-15 (ino)wrocław
- 2024-12-15 Obcinaczki z łapaczem
- 2024-12-14 światła znów wlączyli
- 2024-12-14 nie lekceważ termostatu
- 2024-12-14 numer 112
- 2024-12-14 Pendrive, ale dysk
- 2024-12-12 Autocom CAN CDP+ wysokie kody błędów
- 2024-12-13 termostat do lodowki
- 2024-12-13 Gdańsk => Inżynier bezpieczeństwa aplikacji <=
- 2024-12-13 Warszawa => Head of International Freight Forwarding Department <=
- 2024-12-13 Poznań => Employer Branding Specialist <=
- 2024-12-13 Kraków => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2024-12-13 Kraków => Business Development Manager - Network and Network Security
- 2024-12-13 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2024-12-13 Gdańsk => Programista Full Stack .Net <=