ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
11 июля
380166 Топик полностью
fk0, легенда (14.01.2013 12:48, просмотров: 110) ответил =AlexD= на И кто же тебе запретил использовать STL ? Компилятор не умеет обрабатывать исключения?
Сразу оговорюсь, я не большой знаток C++, особенно внутренностей. Исключения в обработчике прерывания? Шухер! Впрочем если его в try/catch завернуть может и ок (а где выделяется собственно экземпляр самого исключения? кто гарантирует, что он не динамический?) В STL и т.п. смущает возможность нарваться на неявное использование динамической памяти (в ISR) и, собственно, нужно что-то вроде критической секции для части кода обращающейся к общим данным за пределами ISR. В моём самодельном fifo, например, оно есть. Причём, разумеется, не на в целом всё обращение (там ж килобайт, например, может копироваться), а на обращение к указателям чтения/записи внутри fifo. А STL же не предусматривает параллельности в обращении, либо это решается весьма грубыми методами (вполне допустимыми при программировании многопоточных программ на PC, но не для ISR на МК).
[ZX]