我在针对 Marvell Monahans PXA 320 的 Green Hills INTEGRITY 5.0.10 下运行。对于开发,我使用的是 MULTI 4.2.3,我选择的语言是 C++。
我只是在学习 INTEGRITY 内存管理,并且想知道动态内存的使用。
我想使用 std::string、std::map 等。当然,这些都需要堆。我可以使用这些课程吗?更一般地说,我可以直接使用堆(新建/删除)吗?
谢谢,戴夫
我在针对 Marvell Monahans PXA 320 的 Green Hills INTEGRITY 5.0.10 下运行。对于开发,我使用的是 MULTI 4.2.3,我选择的语言是 C++。
我只是在学习 INTEGRITY 内存管理,并且想知道动态内存的使用。
我想使用 std::string、std::map 等。当然,这些都需要堆。我可以使用这些课程吗?更一般地说,我可以直接使用堆(新建/删除)吗?
谢谢,戴夫
是的。我在 INTEGRITY 5.0.11 和 Multi 4.2.4 上开发,你可以使用所有这些东西。
Green Hills 的 INTEGRITY OS 或 MULTI IDE 的目标不是超小型、资源严重受限的嵌入式微控制器,因此如果他们的专有 C++ 编译器不支持 STL 或一般堆,那么在他们的市场上他们不会走得太远. 以下网页似乎支持这一点:
http://www.ghs.com/news/20030915_m40.html
http://www.ghs.com/news/20041116_mobileye.html
所以我会说“是的,你可以使用 std::string、std::map、malloc()、new 等”。
是的,您可以使用所有 STD 库,并且可以在有或没有异常支持的情况下对其进行编译。它还支持日本汽车标准,我不太了解。
从 2017 年年中开始,Green Hills 编译器也支持 C++11,我不能告诉你支持的程度,因为我们仍在过渡