🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.c
Article #310194

Re: Coroutines w (GNU) C

#310194
From: heby
Date: Wed, 29 Jan 2020 16:55
47 lines
3558 bytes
On 28/01/2020 23:30, Mateusz Viste wrote:
> C++ to mocno skomplikowana kobyła

Tak.

> , która ulega regularnym zmianom

Nie. Ulega ewolucji z zachowaniem *prawie* wszystkiego. Helloworldy w C 
działają tak samo a jak nie działają to często "trudno się dziwić".

> ... nie
> każdemu to odpowiada. 

Wolność wyboru.
>> Lutownicą też się da wbijać gwoździe w papę, dziadek tak robił.
> Być może szybciej wbijać lutownicą którą się ma w ręku, niż młotkiem
> który leży pod drabiną? Tak tylko gdybam.

Nie, tutaj mamy  do czynienia z przypadkiem gdzie młotek trzymasz już 
prawie w ręce (gcc->g++) ale dalej preferujesz lutownicę po dziadku bo 
"masz swoje powody".

>> Bo przerwania, bywa, przychodzą za szybko. Szczególnie jak się w nich
>> robi zbędną algorytmikę. Bywa że przychodzą *za* szybko.
> Nie wiem jak to wygląda w ARMie, ale w x86 int handlery są
> domyślnie nieprzerywalne. ARM ma inaczej?

Chyba nie czaisz problemów w mikrokontrolerach.

Jest sobie SPI. Na tym SPI napierniczają bajty. DMA chowa je do bufora w 
pamieci. Bywa że ten bufor to jeden bajt. Wysyła przerwanie kiedy jest 
pełny. Ty robisz sobie swoje korutyny i fancy programowanie makr. 
Przepełnia się drugi bufor. Nie odebrałeś przerwania. Dupa. To czy 
przerwania są czy nie przerywalne nie ma znaczenia. Problemy są rózne. 
Być może w opisywanym przypadku nie występują. Tylko po h... wtedy te 
całe korutyny?

Oczywiście zaraz się okaże że ten cały ARM z przerwaniami to do migania 
diodą służy. Tak czy inaczej przerwania to wielowątkowość + restryckje 
RT. Miejsca na zabawę tam dużo nie ma.

> Obsługa przerwań w BASICu?

Porównianie było do "makrowych korutyn" w których użycie "int a" jest 
zabronione co redukuje w nich pisany algorytm do poziomu BASICa z lat 70 
gdzie wszystko było globalne. Lutownica, nawet rozpadająca się i pod 
napięciem ciągle lepiej wbija gwoździe niż młotek.
Technical Details
Message-ID: <r0sde8$1c4$1@dont-email.me>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!goblin1!goblin.stu.neva.ru!eternal-september.org!feeder.eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail
References: <4375b52d-ba21-462a-8844-9bd1a02e9ece@googlegroups.com> <r0k8i5$ifg$1@dont-email.me> <ce3f0b08-658f-4248-b82c-09f093a7f20c@googlegroups.com> <r0kq6d$v6h$1@dont-email.me> <748c5d16-f4a8-43a0-8a56-bea0800e1e04@googlegroups.com> <r0n95e$35l$1@dont-email.me> <f3df206c-11d4-4b22-87ff-fc7aa00935f3@googlegroups.com> <r0nevq$9iq$1@dont-email.me> <ecae4ae1-0b06-4956-8df0-593fa0f1cd01@googlegroups.com> <r0njjv$740$1@dont-email.me> <0e0786af-7b58-4070-b8cd-81f1bda1f432@googlegroups.com> <r0q9iv$23b$1@dont-email.me> <20200128233003.4bf9d9eb@mateusz>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!goblin1!goblin.stu.neva.ru!eternal-september.org!feeder.eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail
From: heby <heby@poczta.onet.pl>
Newsgroups: pl.comp.lang.c
Subject: Re: Coroutines w (GNU) C
Date: Wed, 29 Jan 2020 17:55:37 +0100
Organization: A noiseless patient Spider
Lines: 47
Message-ID: <r0sde8$1c4$1@dont-email.me>
References: <4375b52d-ba21-462a-8844-9bd1a02e9ece@googlegroups.com> <r0k8i5$ifg$1@dont-email.me> <ce3f0b08-658f-4248-b82c-09f093a7f20c@googlegroups.com> <r0kq6d$v6h$1@dont-email.me> <748c5d16-f4a8-43a0-8a56-bea0800e1e04@googlegroups.com> <r0n95e$35l$1@dont-email.me> <f3df206c-11d4-4b22-87ff-fc7aa00935f3@googlegroups.com> <r0nevq$9iq$1@dont-email.me> <ecae4ae1-0b06-4956-8df0-593fa0f1cd01@googlegroups.com> <r0njjv$740$1@dont-email.me> <0e0786af-7b58-4070-b8cd-81f1bda1f432@googlegroups.com> <r0q9iv$23b$1@dont-email.me> <20200128233003.4bf9d9eb@mateusz>
Mime-Version: 1.0
Injection-Date: Wed, 29 Jan 2020 16:55:36 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="139efa17e3b50ff7a55c5d56671ca15d"; logging-data="1412"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18hOXH9L9+UGwpY1QV6wmU4"
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.9.1
Cancel-Lock: sha1:LBy1tTTs5/fgnYHqw8wP+6KJitM=
In-Reply-To: <20200128233003.4bf9d9eb@mateusz>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit