ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
22 декабря
1151920 Топик полностью
Nikolay_Po (06.12.2021 13:54, просмотров: 623) ответил Evgeny_CD на Спасибо! Если грань между C++ и asm стереть, то это будет хуже, чем большой проект на asm. Переносимости по архитектуре не будет. Совместимость с C++25 (условно) не факт что будет. Лучше уж хардкорно, на асме. Иначе надо знать два дзена - С++ и asm.
Ерунду пишите, Евгений. Или я вас неправильно понимаю. Вся прелесть в том, что современный компилятор, с отлаженной оптимизацией LTO, стирает грань между программированием на ассемблере и программированием на С++. Надписанный на C++ код, оптимизируется компилятором на уровне инструкций контроллера, считай, в ассемблере. Делая использование ассемблера разработчиком бессмысленным. 

И как раз наличие компилятора C++ под целевую платформу (и следующую и следующую) и обеспечивает переносимость кода. Заглядывать в ассемблер понадобиться лишь для тонкой работы с периферией или DSP. И то, библиотеки способны исключить и это. Например, у меня получилось поднять цифровую фильтрацию на биквадратных фильтрах с использованием инструкций MAC CortexM4 вообще не заглядывая в ассемблер.

А вот хуже, чем большой проект на ассемблере, для архитектуры ARM CortexM4 и выше, мне представить сложно. Признаюсь, после dsPIC33 Microchip'а, ассемблер ARM освоить не довелось - не понадобилось. Заглядываю в листинг иногда, но лишь из любопытства.