问题:
当高速情况下,比如几个ms时间间隔调用malloc()函数的动态内存管理,有的时候会出错,所以基本要求的是使用自己的静态内存管理。
具体方法:
- 操作系统下:
- 使用消息队列机制,首先创建一个二维数组,例如array[10][512],然后一级指针,例如:array[1]作为消息队列的指针地址,然后消息队列的size是数组的[512],申请内存是消息队列的xQueueSend,内存的释放是xQueueReceive(暂时是这样构想的,以后有机会去实际尝试一下)
- 非操作系统下:
- 仿照操作系统的队列的访问方式来操作,以后在补充吧(如果工程到了使用内存管理的代码量,要是没有操作系统那真是变态)
在高速运行环境中,频繁调用malloc()可能导致错误。为了解决这个问题,可以采用自定义内存管理策略,如在操作系统环境下利用消息队列机制,创建二维数组模拟内存池,通过xQueueSend申请内存,xQueueReceive释放内存。非操作系统环境下,类似地模仿队列访问方式。这种方法可以提高内存分配效率和稳定性。
2万+

被折叠的 条评论
为什么被折叠?



