找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1896|回复: 5
收起左侧

malloc函数使用报错?MPLAB X IDE

[复制链接]
回帖奖励 5 黑币 回复本帖可获得 5 黑币奖励! 每人限 1 次(中奖概率 30%)
ID:932412 发表于 2021-6-11 11:52 | 显示全部楼层 |阅读模式
在MPLAB X IDE V3.50版本下
#include <stdlib.h>  //头文件

uint8_t * addr = NULL;
addr =(uint8_t *) malloc(8*sizeof(uint8_t));

程序部分省略

free(addr);

报错::0: error: (500) undefined symbols:
        _free(dist/default/production\pic18f25k80_dtu.X.production.obj) _malloc(dist/default/production\pic18f25k80_dtu.X.production.obj)
(908) exit status = 1

请问有人遇到过没,请帮忙解决噢,谢谢!

回复

使用道具 举报

ID:937286 发表于 2021-6-14 02:53 | 显示全部楼层
换编译器试下
回复

使用道具 举报

ID:932412 发表于 2021-6-14 12:17 | 显示全部楼层

换了也没用,而且#include <stdlib.h>这个头文件有malloc函数呢
回复

使用道具 举报

ID:844772 发表于 2021-6-14 14:07 | 显示全部楼层
别用动态内存分配呗,单片机内存小不太需要动态的,否则需要先调用init_mempool()分配地址才可以用malloc。
回复

使用道具 举报

ID:883242 发表于 2021-6-14 15:54 | 显示全部楼层
单片机别用malloc,本来内存就小,你还要制造内存碎片。
回复

使用道具 举报

ID:81196 发表于 2021-6-15 13:40 | 显示全部楼层
对于小型单片机不建议用malloc这种内存申请函数,你可以自己按照需求大小分若干块,需要大的分配大的,需要小的分配小的,加上互斥量做保护,好用的很
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表