Article View: pl.comp.lang.c
Article #310184Re: Coroutines w (GNU) C
From: Maciek Godek
Date: Fri, 13 Mar 2020 12:49
Date: Fri, 13 Mar 2020 12:49
30 lines
5250 bytes
5250 bytes
W dniu piątek, 13 marca 2020 13:26:07 UTC+1 użytkownik brak napisał: > On Friday, March 13, 2020 at 1:12:44 AM UTC+1, Maciek Godek wrote: > > W dniu czwartek, 12 marca 2020 20:17:25 UTC+1 użytkownik brak napisał: > > > > Bo najwidoczniej alternatywy były jeszcze gorsze. > > > > > > > IMHO dyskusja C vs C++ nie powinna abstrahować od platformy na jakiej > > > uruchamiany jest program. > > > > Moim zdaniem dyskusja C vs C++ zawsze będzie raczej biciem piany, niż wymianą argumentów. Nie bez przyczyny zwykło się mawiać "de gustibus non est disputandum". > > > > A mówiąc ogólniej, dyskusje techniczne nie powinny abstrahować od uwarunkowań problemu, dla którego szuka się rozwiązania. > Dokładnie tak. Dlatego dołączyłem się do wątku. Zamiast ciekawej dyskusji jak > rozwiązać problem powstała wirtualna przepychana. No niestety, taki już urok panującej tutaj kultury dyskusji :) > > Jeżeli masz projekt, który już działa na RTOSie, to zgadzam się z Tobą jak najbardziej: zdecydowanie lepiej użyć wątku, niż jakiegoś wątłego mechanizm w rodzaju tego, który zaproponowałem. > Osobiście odmawiam pisania na uC bez RTOS-a. Aczkolwiek ;) czasem jest wymaganie typu 8-bitowy AVR z 128 bajtami RAM-u. Moim zdaniem najlepiej używać RTOSa dopiero wtedy, kiedy rzeczywiście jest potrzebny. W kodzie składającym się z jednego maina raczej nie wystąpią problemy z synchronizacją, na które trzeba uważac, jak się zaprzęga RTOSa do pracy. Poza tym jest jeszcze inny aspekt. Dla mnie ważne jest, żeby kod, który działa na kontrolerze, dało się również uruchomić na PC. Aktualnie pracuję pod Windowsem, bo takie mamy firmowe wymagania, ale kompiluję w środowisku MSYS2, będącym lekką warstwą kompatybilności z systemami uniksowymi. W tej chwili nie skompilowałbym projektu na Linuksa, ale gdyby pojawiła się taka potrzeba, mógłbym dość szybko doprowadzić do takiego stanu. Robiłem ewaluację FreeRTOSa dla naszego projektu. Podobało mi się to, że można go uruchomić zarówno pod Windowsem, jak i pod Linuksem, więc na moje potrzeby byłby OK. Jednak wówczas w większym stopniu przywiązałbym się do platformy, na której rozwijam system - port z Windowsa na Linuksa i jego utrzymanie byłyby kosztowniejsze. Niby nie jest to nic wielkiego, ale zawsze, gdy nie muszę podejmować takich decyzji, wolę tego nie robić. (Za to widziałem kiedyś projekt, który powinien był być robiony na RTOSie, ale zamiast tego był jakąś koszmarną maszyną stanów - i prawdopodobnie był to najgorszy kod, jaki widziałem w życiu)
Technical Details
Message-ID:
<da2c6876-250c-4859-9bb5-ffa40f6d2836@googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erje.net!feeder.erje.net!newsreader4.netcologne.de!news.netcologne.de!news.dns-netz.com!news.freedyn.net!aioe.org!peer01.am4!peer.am4.highwinds-media.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mailReferences:
<4375b52d-ba21-462a-8844-9bd1a02e9ece@googlegroups.com> <0e0786af-7b58-4070-b8cd-81f1bda1f432@googlegroups.com> <r0q9iv$23b$1@dont-email.me> <20200128233003.4bf9d9eb@mateusz> <1a207604-09fa-43f2-8d0a-e3ff51b183f4@googlegroups.com> <r0sf4i$d46$1@dont-email.me> <5e5f4069$0$519$65785112@news.neostrada.pl> <r3t1sc$r41$1@dont-email.me> <5e645e9a$0$17354$65785112@news.neostrada.pl> <r42dg3$r77$1@dont-email.me> <5e64e5a9$0$17350$65785112@news.neostrada.pl> <r42p67$o5b$1@dont-email.me> <5e6555bd$0$554$65785112@news.neostrada.pl> <r43mjb$fg2$1@dont-email.me> <5e6595ce$0$17348$65785112@news.neostrada.pl> <r46320$5hf$1@dont-email.me> <44f694e7-bd52-4b71-aa69-678f8840c27c@googlegroups.com> <r46apv$q4c$1@dont-email.me> <d42e80c7-3cd2-4ce7-a31c-5e39278bffa7@googlegroups.com> <r48ppk$aoi$1@dont-email.me> <89cfb34d-bd57-4a7a-8c94-c2dcdeb02e03@googlegroups.com> <r49vg7$fa1$1@dont-email.me> <31adf521-11e2-4e85-ae62-2e9bb7b9f0a6@googlegroups.com> <20200311150044.15019d69@mateusz> <r4b8nv$oiq$2@dont-email.me> <dc2df496-2154-4f6b-949e-a326b66b7fe9@googlegroups.com> <0148e4d2-49ca-43c2-9edf-cde5b90096f4@googlegroups.com> <570584ca-bf58-4ecd-b476-971206c177df@googlegroups.com> <a9c22fd3-1595-4eae-bc56-ed59a8dd0fb6@googlegroups.com>Show Full Headers
Complete Article Headers
X-Received: by 2002:ae9:d887:: with SMTP id u129mr12953656qkf.357.1584103757434; Fri, 13 Mar 2020 05:49:17 -0700 (PDT) X-Received: by 2002:a5b:58f:: with SMTP id l15mr17109587ybp.330.1584103757176; Fri, 13 Mar 2020 05:49:17 -0700 (PDT) Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erje.net!feeder.erje.net!newsreader4.netcologne.de!news.netcologne.de!news.dns-netz.com!news.freedyn.net!aioe.org!peer01.am4!peer.am4.highwinds-media.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail Newsgroups: pl.comp.lang.c Date: Fri, 13 Mar 2020 05:49:16 -0700 (PDT) In-Reply-To: <a9c22fd3-1595-4eae-bc56-ed59a8dd0fb6@googlegroups.com> Complaints-To: groups-abuse@google.com Injection-Info: google-groups.googlegroups.com; posting-host=83.25.201.67; posting-account=f7iIKQoAAAAkDKpUafc-4IXhmRAzdB5r NNTP-Posting-Host: 83.25.201.67 References: <4375b52d-ba21-462a-8844-9bd1a02e9ece@googlegroups.com> <0e0786af-7b58-4070-b8cd-81f1bda1f432@googlegroups.com> <r0q9iv$23b$1@dont-email.me> <20200128233003.4bf9d9eb@mateusz> <1a207604-09fa-43f2-8d0a-e3ff51b183f4@googlegroups.com> <r0sf4i$d46$1@dont-email.me> <5e5f4069$0$519$65785112@news.neostrada.pl> <r3t1sc$r41$1@dont-email.me> <5e645e9a$0$17354$65785112@news.neostrada.pl> <r42dg3$r77$1@dont-email.me> <5e64e5a9$0$17350$65785112@news.neostrada.pl> <r42p67$o5b$1@dont-email.me> <5e6555bd$0$554$65785112@news.neostrada.pl> <r43mjb$fg2$1@dont-email.me> <5e6595ce$0$17348$65785112@news.neostrada.pl> <r46320$5hf$1@dont-email.me> <44f694e7-bd52-4b71-aa69-678f8840c27c@googlegroups.com> <r46apv$q4c$1@dont-email.me> <d42e80c7-3cd2-4ce7-a31c-5e39278bffa7@googlegroups.com> <r48ppk$aoi$1@dont-email.me> <89cfb34d-bd57-4a7a-8c94-c2dcdeb02e03@googlegroups.com> <r49vg7$fa1$1@dont-email.me> <31adf521-11e2-4e85-ae62-2e9bb7b9f0a6@googlegroups.com> <20200311150044.15019d69@mateusz> <r4b8nv$oiq$2@dont-email.me> <dc2df496-2154-4f6b-949e-a326b66b7fe9@googlegroups.com> <0148e4d2-49ca-43c2-9edf-cde5b90096f4@googlegroups.com> <570584ca-bf58-4ecd-b476-971206c177df@googlegroups.com> <a9c22fd3-1595-4eae-bc56-ed59a8dd0fb6@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <da2c6876-250c-4859-9bb5-ffa40f6d2836@googlegroups.com> Subject: Re: Coroutines w (GNU) C From: Maciek Godek <godek.maciek@gmail.com> Injection-Date: Fri, 13 Mar 2020 12:49:17 +0000 X-Received-Bytes: 5655 X-Received-Body-CRC: 890861597 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit