🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Coroutines w (GNU) C

#310167
From: heby
Date: Mon, 09 Mar 2020 18:48
68 lines
5331 bytes
On 09/03/2020 02:03, JDX wrote:
>> Czyli jakie unikatowe cechy rdzenia '51 lub peryferiów nie występują
>> w ByleCzym?
> No banki rejestrów

Zerknij na FIQ na ARM.

> i wydzielony stos raczej nie występują we
> współczesnym byle czym. :-D

Bo współczesne byle co właśnie nie musi mieć sprzętowego stosu. To jest 
zaleta, że nie ma.

>> Nie, to już nie jest utrzymywanie. To prosta droga do katastrofy.
> Dlaczego zaraz katastrofy? Firma ma nowy produkt na nowym, zupełnie
> innym MCU, ale stary produkt na 51 też (się) sprzedaje.

W sensie jaka nowa technologia, projektowana na nowym ASICu ma mieć 
stary kod pisany pod '51? Bo taki target jest tego wynalazku z Bytomia.

>> Problemem nie jest pieniądź.
> Ooo, na podstawie mojego doświadczenia jako klepacza kodu w tzw.
> biznesie myślę, że problemem jest przede wszystkim pieniądz. Trudno mi
> sobie wyobrazić użycie 51 w nowym projekcie, ale kto wie, może jakaś
> firma chciałaby lekko zmodyfikować sprzęt i zrobić 51 w ASICu (+ jakiś
> dodatkowy stuff) i wykorzystać istniejące oprogramowanie. Właśnie w celu
> zaoszczędzenia, najprawdopodobniej krótkoterminowego.

A czyli w sensie zrobić taki workaround? A tak, to do tego tak. Tylko że 
w takich projetkach juz nie ma C++ z definicji. Nie zapomina że to wątek 
o C++ i w tym kontekscie się tutaj wypowiadam. '51 nie ma sensu w ogóle 
poza jakimiś iditycznymi przypadkami z okolic zapchajdziury na rynku. 
Nikt tam nie będzie narzekał na kompilator a często nie będzie narzekał 
na cokolwiek bo ma tylko wsad binarny a główny programista od 20 lat 
leży pod brzozą.

Nawet Microsoft ostatnio naprawia bugi w starym office na poziomie 
asemblera bo, prawdopodobnie, zgubili kod źródłowy. SourceSafe, hehehe.

>> I potem się dziwie że na C++ w embedded przeciętny Pan Zdzisław od
>> 40 lat robiący sterowiki zegarów szkolnych reaguje alergicznie. Skoro
>> się nie da użyć w "najszybszym procesorze świata" to najlepiej nie
>> używać wcale i nigdzie.
> Na ja np. chciałbym użyć, ale nie tylko gołego C++, ale też kontenerów z
> STL-a.

Kontenery STL -> allokacje. To zaczyan mieć sens od ARM7 a i tam nikły. 
Ja nie masz MMU/wirtualną to allokowanie jest proszeniem się o kłopoty. 
Jak masz MMU to jest proszeniem się o kłopoty tylko później. C++ w 
embedded to nie powinien być kontenerowy STL chyba że ktoś naprawdę wie 
co robi.

> A w C++ nie wiadomo jak to łatwo zrobić.

Nie robić jeśli nie jest to konieczne. Każda allokacja w embedded 
oznacza potencjalne problemy w runtime.

> razie jeśli już mamy być postępowi, to nie C++ tylko Rust. :-)

A tymczasem na całym świecie brodate inzyniery po 60tce napierniczają 
kod na '51 w popsutych kopilatorach C i gołym kodzie maszynowym 
nazywając to "stabilną platformą z doskonale znanymi narzędziami". 
Jeszcze 10 lat temu jeden student mówił że był w firmie gdzie dev na '51 
robili na MSDOSie. Tylko odlatego że jeden z "Zygmuntów" nie potrafił 
używać niczego poza CP/M, o pardon, MS-DOS. Ponoć dlatego że miał tam 
wszystko pod kontrolą. Ile w tym prawdy nie wiem, ale spotykam do 
dzisiaj dinozaury które potrafią pisać aktywnie w Delphi 1 więc się 
wcale nie zdziwie jeśli to była prawda.
Technical Details
Message-ID: <r46320$5hf$1@dont-email.me>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!wsisiz.edu.pl!goblin2!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> <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>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!wsisiz.edu.pl!goblin2!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: Mon, 9 Mar 2020 19:48:30 +0100
Organization: A noiseless patient Spider
Lines: 68
Message-ID: <r46320$5hf$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> <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>
Mime-Version: 1.0
Injection-Date: Mon, 9 Mar 2020 18:48:32 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="4d8b940214207fa7e0b45ccc4dae0ded"; logging-data="5679"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/4BxCT9xVZ31kuvx33kuaH"
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.5.0
Cancel-Lock: sha1:8esXpSA3sGrSoZy/0HqX8JuyjQs=
In-Reply-To: <5e6595ce$0$17348$65785112@news.neostrada.pl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit