Re: Dotazy k STM32F103C8T6 a multiplexované řw616ZW7DrSBMRUQgZGlzcGxlamUu
Jiří Nesvacil
nesvacil na posys.eu
Pátek Březen 12 08:29:56 CET 2021
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í.
Mimochodem, šlo tady spoustu emailů na Pascal a ten je daleko čistější.
Oproti C se vypořádal dobře i s řetězci a ne jako dnes v C je spoustu
kódování, převodů, zkoumání délek, indexací,... . Nemá taky pro neznalé
pointery přes * & a je to daleko čistější. Navíc je to nativní kód na
rozdíl od Java,C#. Pro u embedded systémů je taky, že nemá garbadge
collector. Jsou tady novější jazyky jako GO, ale ten má garbadge
collector, to je pro embedded zařízení trošku moc. Takže pascal by mohla
být lepší forma než C až na úplně nejnižší volání.
V c++ se zápisu občas dá vyhnout použitím pointerů zápisů přes
referencování a následně na properties čistě přes ".", to považuji za
čistější.
Psát komplexnější projekt v ARMu čistě v C má své limity dle mého soudu.
Jirka
Dne 11.03.2021 v 10:24 Miroslav Mraz napsal(a):
> Tak nějak. Píšu pro ARM v C++ už pár let, takhle generalizovat to moc
> nejde. C++ umožňuje trochu vyšší míru abstrakce, takže některé
> konstrukce, které v čistém C děláte poměrně neohrabaně, v C++ mohou
> být jednodušší a je pak na překladači jak si s tím poradí. Obvykle
> lépe - nakonec asi jen málo lidí zná assembler tak dobře, že to v něm
> umí napsat efektivněji. Překladače udělaly hodně velký pokrok v
> optimalizaci kódu ale hodně práce se v tomto směru ještě musí udělat.
> Tím vás nechci odrazovat od používání C++, opravdu se v tom dělá lépe,
> ale není to všelék.
>
> Mrazík
>
> Dne 11. 03. 21 v 9:35 Jan Waclawek napsal(a):
>> Priamy ekvivalent tohoto je v C mat pre nejaku funkcionalitu (modul)
>> vsetky
>> globalne premenne v structe.
>>
>> wek
>>
>>
>> ----- Original Message ---------------
>>> Kompilace nepomuze musite to psat jako C++ tj. v class definovat
>>> properties. Pote vyvolat objekt.metoda(); a properties objektu jsou
>>> natazeny daleko rychleji. Kdyz to mate v C, tak promenne jsou globalni,
>>> tam se nepouzije instrukce se zkracenym indexovanim pro natazeni
>>> promenne, ale s dlouhou 32bit adresou.
>>>
>>> Jirka
> _______________________________________________
> 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ší informace o konferenci Hw-list