我想使用MicroC OS-II建立一个新的嵌入式项目并使用C ++。
当我想使用new运算符创建类的实例时,我的处理器遇到异常,这似乎来自new运算符中的malloc调用失败。这是一个失败的例子:
testC* test = new testC();
testC是一个带有整数成员变量的类。顺便说一下,我正在使用Altera Nios 2。
经过一些研究,我得出结论,malloc与RTOS不兼容。 因此我的问题是:是否可以将c ++与uC / OS-II一起使用?或者有没有办法在new运算符中替换malloc调用?
到目前为止,我找不到任何关于此的更多信息。
非常感谢你的帮助。 最好, 罗马
答案 0 :(得分:0)
我找到了一个避免新运算符的解决方案,同时仍然保持多态性(这是使用new
运算符的实际原因)。我在堆栈上(或其他地方)创建一个对象,例如与
TestC test = TestC();
在实际代码中,我引用了基类:
BaseC * base = &test;
也许这有助于其他人。 谢谢大家。