首页 / 科技百科 / 正文

Microchip单片机 使用malloc()函数注意事项

1、需要告知编译器程序中将会使用动态内存分配,不然在16位的单片机中编译会出错,在32位的单片机中编译不会出错,但是在程序运行的时候,会出现malloc分配失败。选项位于 Project -> Build Option -> MPLab xx Link 这个界面里,找到 Heap Size这个框,在旁边输入动态分配可能需要的字节数即可。另外,实际使用中注意到一个现象,就是输入的字节数大小在实际程序的运行中并不能全部分配到,实际最多只能得到的要比输入的字节数少8个byte的样子,不然malloc返回NULL,即分配空间失败。不知道这是编译器的bug,还是分配空间过程中的自然损耗。

如有侵权请及时联系我们处理,转载请注明出处来自