Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Динамическое выделение памяти не нужно
не используются конструкторы и деструкторы, кроме пустых конструкторов прямой инициализации:
SomeClass(int v1, int v2): member1(v1), member2(v2) {}
__libc_init_array() перед прыжком в main().__gnu_cxx::__verbose_terminate_handler(), стандартная из Newlib чудовищно раздута, а всё что ей надо делать — реагировать на непойманное исключение. В нагрузку, если используете абстрактные базовые классы, сделайте свою extern "C" void __cxa_pure_virtual(), с ней та же история. Из стандартной библиотеки торчит довольно много ручек, которые можно покрутить и подёргать. .init_array: {
. = ALIGN(4);
__init_array_begin = .;
KEEP ((.init_array))
__init_array_end = .;
} >rom typedef void (func_t)();
extern func_t __init_array_begin;
extern func_t __init_array_end;for( func_t * f = &__init_array_begin; f != &__init_array_end; ++f )
(*f)();К примеру у меня есть функция на 10 экранов, которая оперирует матрицами любого размера.Так размер матриц задаётся на стадии компиляции или на стадии исполнения. Если на стадии компиляции, то где он задаётся? Если на стадии исполнения, то как передаётся в функцию?
Для возможности обращения вида a[i][j] нужно заранее определеить во всех переменных размерность матрицы, и это красиво делается при помощи шаблона.А это вообще непонятно. В принципе в C++ для возможности обращений вида a[i][j] просто переопределяют соответствующий оператор. Причём тут размеры или вообще шаблоны неясно. )
Поэтому обработчик прерывания нельзя вот так просто повесить на метод какого-то класса
Есть вопросы с подсветкой кода. Не все среды разработки под МК уверенно парсят Си++ код и позволяют на ходу подсвечивать ошибки, подсказывать члены класса, переходить по объявлению переменной и т.п. На Си обычно работает у всех без вопросов.
с кучей давно известных решений
Не пойму даже как можно пользоваться этими блокнотами-переростками.
Особенности использования и тестирования кода С++ на микроконтроллерах