Article View: pl.comp.lang.c
Article #310194Re: Coroutines w (GNU) C
From: heby
Date: Wed, 29 Jan 2020 16:55
Date: Wed, 29 Jan 2020 16:55
47 lines
3558 bytes
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-mailReferences:
<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