-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit
0.net!newsreader4.netcologne.de!news.netcologne.de!peer03.ams1!peer.ams1.xlned.
com!news.xlned.com!peer03.fr7!futter-mich.highwinds-media.com!news.highwinds-me
dia.com!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-a-02.news.ne
ostrada.pl!news.neostrada.pl.POSTED!not-for-mail
From: "J.F." <j...@p...onet.pl>
Newsgroups: pl.misc.elektronika
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>
<y...@4...net>
<q424f8$8b4$1@node2.news.atman.pl>
<5c650c2f$0$5597$426a74cc@news.free.fr>
<5c6544d5$0$486$65785112@news.neostrada.pl>
<c...@t...no1>
In-Reply-To: <c...@t...no1>
Subject: Re: Zagwozdka w C Keil - wyjaśnienie.
Date: Thu, 14 Feb 2019 13:11:16 +0100
MIME-Version: 1.0
Content-Type: text/plain; format=flowed; charset="iso-8859-2"; reply-type=original
Content-Transfer-Encoding: 8bit
X-Priority: 3
X-MSMail-Priority: Normal
Importance: Normal
X-Newsreader: Microsoft Windows Live Mail 16.4.3528.331
X-MimeOLE: Produced By Microsoft MimeOLE V16.4.3528.331
Lines: 46
Message-ID: <5c655b35$0$490$65785112@news.neostrada.pl>
Organization: Telekomunikacja Polska
NNTP-Posting-Host: 83.26.165.247
X-Trace: 1550146357 unt-rea-a-02.news.neostrada.pl 490 83.26.165.247:62644
X-Complaints-To: a...@n...neostrada.pl
X-Received-Bytes: 2898
X-Received-Body-CRC: 2568740022
Xref: news-archive.icm.edu.pl pl.misc.elektronika:741021
[ ukryj nagłówki ]Użytkownik "Queequeg" napisał w wiadomości grup
dyskusyjnych:c6cda8fa-82c3-48a0-a47d-aba030a5831b@tr
ust.no1...
J.F. <j...@p...onet.pl> wrote:
>> Cos w tym jest, ale z drugiej strony - skoro uzywamy volatile, to
>> wiadomo ze zmienna moze sie zmieniac w przerwaniach czy w inny
>> niekontrolowany sposob, i co - kompilator to olewa ?
>Ale co kompilator może zrobić, jak sam procesor nie obsługuje
>atomicznego
>dostępu do tej zmiennej (bo np. jest 8-bitowy, a zmienna 16-bitowa)?
To samo, co programista ma zrobic :-)
>Zresztą nawet w przypadku zmiennych o rozmiarze równym szerokości
>magistrali danych nie ma gwarancji chociażby w przypadku operacji
>read-modify-write. Przykład:
>#v+ test.c
>volatile int i;
>void fn(void) { ++i; }
>#v-
>#v+ test.s
>ldr r3, [r2] ; odczyt zmiennej z pamięci do rejestru r3
>add r3, r3, #1 ; dodanie do rejestru r3 liczby 1
>str r3, [r2] ; zapis rejestru r3 z powrotem do pamięci
>#v-
>Zmienna może się zmienić między każdą z tych instrukcji.
Cos w tym jest.
>> No coz, przejsc na ARM i zapomniec o problemie ...
>Czemu? Co ma do tego ARM? Chodzi o szerokość magistrali danych? To
>rozwiązuje tylko jeden problem,
Tak, problemu z int nie bedzie :-)
>ale inne (chociażby ten pierwszy przykład wyżej) pozostają.
Ciezkie jest zycie programisty.
I co sie dziwic, ze MS w C# zrobil stringi niemodyfikowalne ...
J.
Następne wpisy z tego wątku
- 14.02.19 13:15 J.F.
- 14.02.19 13:25 Queequeg
- 14.02.19 13:36 Grzegorz Niemirowski
- 14.02.19 13:52 a...@m...uni.wroc.pl
- 14.02.19 13:59 Queequeg
- 14.02.19 14:01 Grzegorz Niemirowski
- 14.02.19 14:02 Queequeg
- 14.02.19 14:04 Queequeg
- 14.02.19 14:07 Queequeg
- 14.02.19 17:03 J.F.
- 14.02.19 17:10 J.F.
- 14.02.19 17:14 Queequeg
- 14.02.19 18:27 J.F.
- 14.02.19 19:42 Grzegorz Niemirowski
- 14.02.19 22:13 Janusz
Najnowsze wątki z tej grupy
- 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?
- Internet w lesie - Starlink
- Opis produktu z Aliexpress
- No proszę, a śmialiście się z hindusów.
- Zewnętrzne napięcie referencyjne LM385 1,2V -> 100mV dla ICL7106, Metex M-3800
- karta parkingowa
- Wl/Wyl (On/Off) bialy/niebieski
- I3C
Najnowsze wątki
- 2024-12-01 Rambo 2024. Co z radio-stopem
- 2024-12-01 Pijani kierowcy
- 2024-12-01 "Chciałem zamówić kurs tym"
- 2024-11-30 Windykatorzy ścigają spadkobierców z mandat nieboszczyka za przekroczenie prędkości???
- 2024-11-30 Łódź => Technical Artist <=
- 2024-11-30 Lublin => Inżynier Serwisu Sprzętu Medycznego <=
- 2024-11-30 Warszawa => Microsoft Dynamics 365 Business Central Developer <=
- 2024-11-30 Bieruń => Team Lead / Tribe Lead FrontEnd <=
- 2024-11-30 Zielona Góra => Senior PHP Symfony Developer <=
- 2024-11-30 Gdańsk => Specjalista ds. Sprzedaży <=
- 2024-11-30 Lublin => Spedytor międzynarodowy <=
- 2024-11-30 Warszawa => Mid IT Recruiter <=
- 2024-11-30 Warszawa => Fullstack Developer <=
- 2024-11-30 Żerniki => Dyspozytor Międzynarodowy <=
- 2024-11-30 Warszawa => System Architect (background deweloperski w Java) <=