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