我有一個錯誤,現在我已經修復了,但我需要在報告中解釋。第一次使用malloc設置堆?
我正在運行FreeRTOS的嵌入式設備,它執行自己的堆內存管理。 FreeRTOS有自己的版本malloc(),pvPortMalloc(),我沒有意識到並使用它修復了我遇到的內存問題。
我的問題涉及到由malloc()函數,該數據是在大小隻有8個字節,溢出的大小然而是顯著引起存儲器溢出的大小,千字節,如果不大。我的猜測是,在這個應用程序中第一次也是唯一一次使用malloc,在與FreeRTOS的堆競爭中設置第二個堆,至少有幾個kb的大小。
任何人都可以證實這一點或給出更好的解釋。指向更多信息或引用非常感謝。
下面的鏈接比較了FreeRTOS中不同的內存管理方法。討論了一些關於malloc的已知問題,它可能會幫助你http://www.freertos.org/a00111.html – Claudix 2014-09-13 09:23:22
Ta,這是我找出如何解決我的錯誤的源代碼,但它不能解釋我觀察到的行爲。 – 2014-09-13 09:28:29
「我的猜測是,在這個應用程序中malloc的第一個也是唯一的用途是」什麼應用程序?請發佈代碼。否則,問題太廣泛,只會引發猜測。 – Lundin 2014-09-29 06:36:08