-
Data: 2019-02-13 23:01:55
Temat: Re: Zagwozdka w C Keil - wyjaśnienie.
Od: q...@t...no1 (Queequeg) szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Janusz <j...@o...pl> wrote:
>> Wbrew intuicji -- nie :) Modyfikator `volatile` oznacza tylko tyle, że
>> kompilator nie może robić założeń co do zawartości zmiennej opatrzonej tym
>> modyfikatorem, bo zmienna może zmienić wartość poza ścieżką wykonania (np.
>> jest to sprzętowy rejestr, lub inny wątek ją modyfikuje, lub właśnie
>> przerwanie). `volatile` nie oznacza, że kompilator gwarantuje atomiczny
>> dostęp do zmiennej (czyli że wyłączy wszystko inne, co może zmienić jej
>> wartość w trakcie dostępu -- czy to wątki, czy przerwania, czy zewnętrzny
>> sprzęt).
> G..o prawda.
A co konkretnie?
>> AVR ma to rozwiązane w ten sposób:
>> https://www.nongnu.org/avr-libc/user-manual/group__u
til__atomic.html
> Mylisz pojęcia, atomic blok i voltaile to są zupełnie dwie różne sprawy.
Nie mylę, może nieprecyzyjnie się wyraziłem. AVR ma wspomniane mechanizmy,
których programista może użyć, jeśli interesuje go atomiczny dostęp lub
tak naprawdę jakakolwiek inna sekcja krytyczna.
> jakbyś zerknął do kodu to byś zobaczył że dla volatile kompilator
> nigdy nie robi atomic bloków, to musi programista w kodzie
> zrobić.
Tak (i prawidłowo), o tym właśnie piszę.
--
Eksperymentalnie: http://facebook.com/groups/pl.misc.elektronika
Następne wpisy z tego wątku
- 13.02.19 23:06 Queequeg
- 13.02.19 23:07 Grzegorz Niemirowski
- 14.02.19 00:59 HF5BS
- 14.02.19 07:35 Mateusz Viste
- 14.02.19 10:30 Janusz
- 14.02.19 10:44 Grzegorz Niemirowski
- 14.02.19 10:57 Queequeg
- 14.02.19 11:35 J.F.
- 14.02.19 11:42 J.F.
- 14.02.19 11:49 Grzegorz Niemirowski
- 14.02.19 11:59 Queequeg
- 14.02.19 12:14 Queequeg
- 14.02.19 13:07 J.F.
- 14.02.19 13:11 J.F.
- 14.02.19 13:15 J.F.
Najnowsze wątki z tej grupy
- nie naprawiam więcej telewizorów
- Zrobił TV OLED z TV LCD
- Zasilacz USB na ścianę.
- Gniazdo + wtyk
- Aliexpress zaczął oszukiwać na bezczelnego.
- OpenPnP
- taka skrzynka do kablowki
- e-paper
- 60 mA dużo czy spoko?
- Dziwne zachowanie magistrali adresowej w 8085
- Współczesne mierniki zniekształceń nieliniowych THD audio, produkują jakieś?
- Jaki silikon lub może klej?
- Smar do video
- Litowe baterie AA Li/FeS2 a alkaliczne
- "ogrodowa linia napowietrzna"
Najnowsze wątki
- 2025-03-03 a Ty jak się zachowasz w godzinie próby?
- 2025-03-03 nie naprawiam więcej telewizorów
- 2025-03-03 Białystok => Gen AI Engineer <=
- 2025-03-03 Poznań => Konsultant wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-03-03 Olsztyn => Sales Specialist <=
- 2025-03-03 Gdy ministrowie sa golodupcami
- 2025-03-03 Pruszków => Specjalista ds. public relations <=
- 2025-03-03 Białystok => System Architect (Java background) <=
- 2025-03-03 Białystok => System Architect (background deweloperski w Java) <=
- 2025-03-03 China-Kraków => Senior PHP Symfony Developer <=
- 2025-03-03 China-Kraków => Senior PHP Symfony Developer <=
- 2025-03-03 Warszawa => Data Engineer (Tech Lead) <=
- 2025-03-03 Gliwice => Ekspert IT (obszar systemów sieciowych) <=
- 2025-03-03 Gliwice => IT Expert (Network Systems area) <=
- 2025-03-03 Mińsk Mazowiecki => Area Sales Manager OZE <=