-
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: Sat, 16 Feb 2019 22:03:44 +0000 (UTC)
Organization: news.chmurka.net
Message-ID: <0...@t...no1>
References: <q3q59d$hp9$1@node1.news.atman.pl> <q3vee4$o74$1@node1.news.atman.pl>
<5c63f185$0$476$65785112@news.neostrada.pl>
<q41tof$422$1@node1.news.atman.pl>
<2...@t...no1>
<q44nj2$kl6$1@node2.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: Sat, 16 Feb 2019 22:03:44 +0000 (UTC)
Injection-Info: news.chmurka.net; posting-account="gof";
posting-host="pi.v.chmurka.net:172.24.44.20"; logging-data="28379";
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:wcUPxSOTSjru4oisx3wewbw4v7A=
Xref: news-archive.icm.edu.pl pl.misc.elektronika:741065
[ ukryj nagłówki ]Irek.N. <t...@j...taki.jest.pl> wrote:
>> Skąd wiesz?
>
> Chociaż by z powodu występowania możliwości błędnego odczytu wartości 0
> dla tej zmiennej gdy jest czytana połówkami. Mój przypadek.
No tak, ale volatile przed tym nie chroni.
> Dlaczego miał by tak zrobić? Ponieważ volatile (w moim przekonaniu) mówi
> kompilatorowi, że może się spodziewać problemów z tą zmienną i nie może
> zakładać, że uda się ją odczytać etapowo (tak samo jak np. nie ma sensu
> ją buforować, tylko za każdym razem trzeba czytać).
To przekonanie to to, co podpowiadałaby intuicja, ale z punktu widzenia
standardu jest błędne.
Zobacz chociażby tutaj:
http://www.open-std.org/jtc1/sc22/wg14/www/docs/n112
4.pdf
Strona 25, punkty 2 i 3, później też strona 121, punkt 6.
Tu nie ma mowy o atomicznym odczycie zmiennej tylko o nieoptymalizowaniu
dostępu do tej zmiennej.
Oczywiście na logikę chcielibyśmy, żeby zmienna nie zmieniła wartości w
trakcie jej odczytu, ale do tego po prostu służą inne mechanizmy niż
modyfikator volatile.
--
Eksperymentalnie: http://facebook.com/groups/pl.misc.elektronika
Następne wpisy z tego wątku
- 16.02.19 23:11 Queequeg
- 16.02.19 23:26 Queequeg
- 17.02.19 03:55 k...@g...com
- 17.02.19 09:16 Mateusz Viste
- 17.02.19 11:57 J.F.
- 19.02.19 13:14 Queequeg
Najnowsze wątki z tej grupy
- 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
- Programator czasowy TUYA.
Najnowsze wątki
- 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 <=
- 2024-05-18 Łódź => Handlowiec - Systemy CRM <=
- 2024-05-17 ZŁOMNIK o pracy w TVN TURBO, nowych przepisach i współczesnej motoryzacji. Turbo Taryfa!
- 2024-05-17 Białystok => DevOps Engineer Conexa First (Contractor) <=
- 2024-05-17 Warszawa => Starszy inżynier oprogramowania (Rust) <=
- 2024-05-17 Zabrze => Junior HelpDesk <=