Re: Dotazy k STM32F103C8T6 a multiplexované řw616ZW7DrSBMRUQgZGlzcGxlamUu

Jiří Nesvacil nesvacil na posys.eu
Sobota Březen 13 11:08:33 CET 2021


Ono neznamená, že to co je lepší vždy vyhraje. Pokud se lidi zaseknou, 
že nepůjdou dál či nevidí dál než čisté C, tak to samozřejmě bude. Pokud 
se na C++ nepustí vyjímky, bude se po sobě uklízet paměť, tak rozdíl 
oproti starému C je, ale technicky to vygeneruje stejný kód, jak jsme si 
na ARM ověřili dokonce i rychlejší a optimalizovanější. Přičemž na špeky 
vždycky zůstane i starý zápis. Kromě arduina byl naprogramován i os 
NEXT, kde bylo snad všechno objekt NeXTSTEP – Wikipedie (wikipedia.org) 
<https://cs.wikipedia.org/wiki/NeXTSTEP> .

Pokud se podívat na Javu či c#, tak mají daleko čistější zápisy než 
javascript, ale ten to v řadě případů vyhrává i v těch embedded systémech.

Na Arduinnu, když se programuje v C++, tak se také musí dát pozor na 
stringy, našel jsem nějakou implementaci fixedstring GitHub - 
toomasz/FixedString: String library for embedded systems that won't make 
your heap fragmented <https://github.com/toomasz/FixedString> , která se 
vyhne haldě a problému s tím. Někdy je ta halda ovšem důležitá pro 
některé aplikace. Inu musí se vědět, co se dělá.

Psát v čistém C třeba zpracování SOAP zpráv či JSON je zážitek, ne že by 
to nešlo, ale proč to dělat takhle neohrabaně... .

Jirka


Dne 13.03.2021 v 5:45 Jaroslav Buchta napsal(a):
> Tak ono to v principu asi nicemu nevadi, treba Arfuino na C++ jede, 
> ale je asi potreba se krotit ve vyuzivani moznosti C++ coz mi uplne 
> nesedi.
> Jednou jsem zkusil, co to udela, kdyz nasadim system vyjimek (na ARM) 
> a z kodu 20kB hned bylo pres 100kB. Tim pro me C++ na MCU ztratilo 
> kouzlo. S virtualizaci to bude asi taky nic moc, zvlast na slabsich 
> procesorech, ktere nemaji pokrocilejsi instrukce pro adresaci pameti.
> A dalsi vec bude podle mne horsi prenositelnost kodu na ruzne 
> platformy, v jadrech OS je to spousta struktur s ukazateli na data a 
> funkce, v C jsou celkem jasna pravidla a da se to osetrit 
> preprocesorem, objekty v C++ jsou asi fyzicky implementovany 
> rozmaniteji.Netvrdim, ze by to neslo, nakonec zas to Arduino ukazuje, 
> ze slo, ale...
>
> Dne 12.03.2021 v 22:10 Petr Labaj napsal(a):
>> No - asi to bude věc pohledu.
>> Já v tomto zcela souzním v panem Linusem, který myslím kdysi 
>> prohlásil, že něco jako C++ se nemělo nikdy narodit.
>>
>> Pro programování GUI je C++ asi celkem fajn. Všude jinde se mu rád 
>> vyhnu velkým obloukem.
>> Použít ho pro nějaké low-level programování si teda moc nedovedu 
>> představit. Kdyby to po mě nějaký zákazník chtěl, tak ten kšeft 
>> prostě odmítnu.
>> Ale svět je barevnej, tak jiní lidé to zase vidí jinak.
>>
>> PL
>>
>> ***********************
>>
>> Dne 12.3.2021 v 21:02 Jiří Nesvacil napsal(a):
>>> V linuxu máte drivery, vlákna a poté konfigurace, které již nejsou v 
>>> C, shell, který není C a to nepíši o web stránkách, manuálech, které 
>>> také neskládají stringy v C. Kde můžou, tak se to mu C vyhnou. Tam, 
>>> kde to jinak nejde či je výhodné použít mraky pointerů tj. v odkazu 
>>> do hw, tak Vám nic jiného nezbude. Však se také jádro vydává velmi 
>>> opatrně má dlouhé cykly... . Pokud píšete nějaký kousek v embedded 
>>> systému, tak vyšší vrstvu raději taky nebudete psát v C. Myslím si, 
>>> že dnes pokud by se psal znova OS, tak se bude psát minimálně v C++ 
>>> a s praktiky, které povedou k vynechání pointerů v kódu, aby se 
>>> vyhnuli chybám.
>>>
>>> Jirka
>>>
>>> Dne 12.03.2021 v 19:31 Petr Labaj napsal(a):
>>>> To jako že třeba Linux je menší projekt? Nebo to znamená, že je 
>>>> neudržitený a brzo se zhroutí?
>>>> Tak to je problém. To místo něho budeme muset se vším přejít na 
>>>> Windows?
>>>> A nejsou ty náhodou taky psané z velké části v C? Aby je nepotkal 
>>>> stejný osud.
>>>> Žádné příjemné vyhlídky do budoucna. :-(
>>>>
>>>> PL
>>>>
>>>> ***********************
>>>>
>>>> Dne 12.3.2021 v 8:29 Jiří Nesvacil napsal(a):
>>>>> Psát kousek programu v C, struktury, mraky pointeru se dá, ale při 
>>>>> větším projektu to bývá neudržitelné. Při porovnání verzí, commitu 
>>>>> se jednoduše nějaká * či & ztratí.
>>>>
>>
>> _______________________________________________
>> HW-list mailing list  -  sponsored by www.HW.cz
>> Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
>
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list


-- 
Tento e-mail byl zkontrolován na viry programem AVG.
http://www.avg.cz
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20210313/f3cf07e3/attachment.html>


Další informace o konferenci Hw-list