-
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
- Ściąganie hasła frezem
- Koszyk okrągły, walec 3x AA, na duże paluszki R6
- Brak bolca ochronnego ładowarki oznacza pożar
- AMS spalony szybkim zasilaczem USB
- stalowe bezpieczniki
- Wyświtlacz ramki cyfrowej
- bateria na żądanie
- pradnica krokowa
- Nieustający podziw...
- Coś dusi.
- akumulator napięcie 12.0v
- Podłączenie DMA 8257 do 8085
- pozew za naprawę sprzętu na youtube
- gasik
- Zbieranie danych przez www
Najnowsze wątki
- 2025-01-31 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2025-01-31 Warszawa => Full Stack .Net Engineer <=
- 2025-01-31 Warszawa => Programista Full Stack (.Net Core) <=
- 2025-01-31 Gdańsk => Programista Full Stack .Net <=
- 2025-01-31 Bieruń => Team Lead / Tribe Lead FrontEnd <=
- 2025-01-31 Błonie => Administrator systemów <=
- 2025-01-31 Duńskie precedensy w sprawie odsprzedawania terytoriów USA [Wyspy Dziewicze (1917)]
- 2025-01-31 Gdańsk => Specjalista ds. Sprzedaży <=
- 2025-01-31 Katowice => Key Account Manager (ERP) <=
- 2025-01-31 kupujmy części
- 2025-01-30 pogromca ksiezy
- 2025-01-30 Warszawa => Data Engineer (Tech Lead) <=
- 2025-01-30 Czy WYNIESIENIE UE-posła Brauna z sali obrad UE-parlamentu stanowiło naruszenie jego immunitetu i godności?
- 2025-01-30 drukarka potrzebna
- 2025-01-30 Warszawa => QA Engineer (Quality Assurance) <=