ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
18 июля
1435221
VVB (15.05.2024 09:18, просмотров: 2431)
Стандартная библиотека C++ как слой абстракции, или "std::thread: сферический конь в вакууме". 

Интересно, почему поставщики инструментов типа "ARM GNU Embedded" конфигурируют компилятор (и newlib) как "single-thread". Это приводит к зоопарку RTOS в бизнес-коде и самописным уровням абстракции для адаптации к разным RTOS.

Почему бы не использовать posix модель? Вот тут https://www.embedded.com/running-advanced-c-software-on-mcus/ наши чуваки пересобрали инструменты с поддержкой std::thread, std::mutex.

Низлежащая адаптация newlib может быть подстроена к разным RTOS на уровне проекта через _fork_r() и прочими заглушками описанными в документации https://sourceware.org/newlib/libc.html . Или я слишком наивен, и это совсем не так просто сделать?


Почему до сих пор не реализована поддержка многозадачности "из коробки"? Вроде это упростит всем нам жизнь. Если многопоточность не нужна -- её просто не надо использовать, накладные расходы =0.