我正在使用MPLabX IDE爲使用C32 v1.12的PIC32編譯以下代碼。 代碼編譯發現但掛在malloc()
,它似乎並不重要我試圖malloc它總是掛起的大小。PIC32 c32 1.12,Malloc掛起應用程序
掛起我的意思是調試器變得無響應,應用程序必須在它將繼續之前手動重新啓動。
#define SAFE_DELETE(x) { if(x != NULL) { free(x); x=NULL ; } }
BOOL Test_Malloc() {
int *ptr = NULL ;
ptr = (int*)malloc(10 * sizeof (int)); // With a cast
if(ptr != NULL) {
SAFE_DELETE(ptr);
return TRUE ;
}
return FALSE ;
}
我的問題是;
- 如何使用C32 v1.12的PIC32上的malloc內存?
什麼是SAFE_DELETE?你是否100%肯定它是'malloc'掛起而不是之後的代碼?項目的堆大小設置爲?確保它至少比你可能需要的內存大4KB。 –
@DavidSchwartz爲示例源代碼添加了SAFE_DELETE定義。是的,我確信代碼掛在malloc而不是SAFE_DELETE上,如何檢查項目堆大小? –