正在将C++应用程序移植到STM 32设备上。应用程序本身正长运行,但我观察到堆内存增长到堆栈中,并在一段时间后引发异常。 在Visual Studio中运行Windows上的应用程序显示了相同的现象,所使用的内存只会增加,但不会崩溃。这可能是因为有GB的RAM而不是KB ;) 我怀疑该应用程序有内存泄漏,貌似缺少了一些编译器设置或类似的东西,我看过一些关于嵌入式设备上的C++的文章,他们建议使用malloc()和free()来覆盖new和delete操作符。如果我这样做,还需说明请求和释放了多少内存。 但是我想知道new和delete操作符的是如何实现的,以检查它们是如何工作的。
|