-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.chmurka.net!.POSTED.pi.v.chmurka.n
et!not-for-mail
From: q...@t...no1 (Queequeg)
Newsgroups: pl.misc.elektronika
Subject: Re: Zagwozdka w C Keil - wyjaśnienie.
Date: Wed, 13 Feb 2019 22:01:55 +0000 (UTC)
Organization: news.chmurka.net
Message-ID: <6...@t...no1>
References: <q3q59d$hp9$1@node1.news.atman.pl> <q3vee4$o74$1@node1.news.atman.pl>
<5c63f185$0$476$65785112@news.neostrada.pl>
<e...@t...no1>
<q423vc$a43$1@node1.news.atman.pl>
NNTP-Posting-Host: pi.v.chmurka.net
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: 8bit
Injection-Date: Wed, 13 Feb 2019 22:01:55 +0000 (UTC)
Injection-Info: news.chmurka.net; posting-account="gof";
posting-host="pi.v.chmurka.net:172.24.44.20"; logging-data="26325";
mail-complaints-to="abuse-news.(at).chmurka.net"
User-Agent: tin/2.4.2-20171224 ("Lochhead") (UNIX) (Linux/4.4.50-v7+ (armv7l))
Cancel-Lock: sha1:HgrprCQh96dwqJqZMqsSBCI0ym4=
Xref: news-archive.icm.edu.pl pl.misc.elektronika:741003
[ ukryj 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
- LED
- System operacyjny dla 6800?
- Przyłączenie działki do sieci elektrycznej
- Działalność nierejestrowana/definicja sprzętu elektronicznego/misie i kolejki
- Smukły, długi ściągacz izolacji do kynaru
- rezystor 3 omy 400W
- [newbie] Jaki multimetr za 2-4 stówy?
- szafka sieciowa
- Raspberry Pi 5 + dyski SATA
- lutownica na węgiel
- Znów czary (albo niewiedza) - tym razem fotowoltaika
- Chess
- Vitruvian Man - parts 7-11a
- przeźroczyste koszulki
- Re: Win 10/11 nie lubi OKI
Najnowsze wątki
- 2024-05-20 Fiat 125p wer. pikup - w PRL moszna było, w III Reczy [pospolitej] nie moszna
- 2024-05-19 Pożar salonu z chińskimi elektrykami
- 2024-05-18 LED
- 2024-05-19 ceny nieruchomości
- 2024-05-18 Szczecin => UX/UI Designer <=
- 2024-05-18 Warszawa => Mid PHP Developer (Laravel) <=
- 2024-05-18 Warszawa => Software .Net Developer <=
- 2024-05-18 Warszawa => Mid/Senior QA Engineer <=
- 2024-05-18 Ulm => Solution Architect (sichere Kommunikation und IoT-Loesungen <=
- 2024-05-18 Katowice => Head of Virtualization Platform Management and Operating S
- 2024-05-18 Warszawa => SAP WM Consultant / Execution <=
- 2024-05-18 Wrocław => Consultant/Implementer Comarch ERP XL <=
- 2024-05-18 Gdańsk => Head of International Freight Forwarding Department <=
- 2024-05-18 Warszawa => Account Manager (Recruitment Services) <=
- 2024-05-18 Łódź => Salesperson - CRM Systems <=