Я хотел создать новый встроенный проект с использованием MicroC OS-II и использовать C++.MicroC OS-II с C++
Когда я хочу создать экземпляр класса с использованием нового оператора, мой процессор запускается в исключение, которое, как представляется, происходит из-за сбоя вызова malloc в новом операторе. Это пример, который терпит неудачу:
testC* test = new testC();
с testC является некоторым классом с целочисленной переменной-членом. BTW, я использую Altera Nios 2.
После некоторого исследования я пришел к выводу, что malloc несовместим с RTOS. Поэтому мой вопрос: возможно ли использовать C++ с uC/OS-II? Или есть способ заменить вызов malloc в новом операторе?
До сих пор я не мог найти дополнительной информации об этом.
Большое спасибо за помощь. Best, Роман
Из любопытства, почему вы используете 'new' во встроенной системе? Большинство встроенных систем имеют ограниченную память и не собирают мусор. Если вы собираетесь использовать 'new', вам придется решать проблемы фрагментации. –
Ну, я хотел использовать C++ и создать OO-систему. И вот почему я требую нового оператора, не так ли? Я знаю, что нет gc, но это C++ вообще или я ошибаюсь? – RMK
Имеет ли смысл использовать его таким образом или я должен изменить свою стратегию? – RMK