参考链接:keil 下 malloc的使用
1、工程内需要包含头文件<stdlib.h>,malloc位于该头文件内
2、工程配置勾选使用微库Target-Use MicroLIB
特别声明:
一般来说以上两个步骤就可以正常使用malloc函数申请堆空间了,但前提是申请的堆空间不能超过启动文件中规定的堆空间大小(Heap_Size),以下用STM32F103ZET6的启动文件说明:
variables = (int32_t *) malloc(=0x3F4); //1014字节
程序中申请1014个字节堆空间,按道理说是可以成功返回一个具体的地址的,但是程序却返回为0的地址,说明堆空间没有申请成功,通过查看startup_stm32f10x_hd.s文件,摘选如下:
Heap_Size EQU

本文详细介绍了在Keil环境下如何正确使用malloc函数,包括工程配置、头文件包含及启动文件中堆空间大小的设置。当申请的堆空间超过默认大小时,程序将无法正常分配内存,文章提供了修改启动文件以增加堆空间的方法。

248

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



