[PIC®/AVR®/dsPIC®产品] 无法使用malloc函数

[复制链接]
1783|24
 楼主| jiajs 发表于 2022-9-4 15:29 | 显示全部楼层 |阅读模式
本帖最后由 pzsh 于 2022-10-9 11:50 编辑

MPLAB X IDE下用XC8编译器无法使用malloc函数
 楼主| jiajs 发表于 2022-9-4 15:34 | 显示全部楼层
需要使用malloc函数,已包含头文件#include <stdlib.h>
编译还是出错,implicit declaration of function 'malloc' is invalid in C99
打开stdlib.h头文件,并没有找到malloc函数的声明,
在keil下打开stdlib.h,可以找到该函数的声明:extern _ARMABI void *malloc(size_t /*size*/);
 楼主| jiajs 发表于 2022-9-4 15:36 | 显示全部楼层
为什么两个stdlib.h文件不一样,在MPLAB X IDE下如何使用malloc?
juventus9554 发表于 2022-9-4 15:40 | 显示全部楼层
<stdlib.h> 调用时 malloc(x)吧   
xxrs 发表于 2022-9-4 15:42 | 显示全部楼层
stdlib.h 和 malloc.h 中都有malloc函数的。
juventus9554 发表于 2022-9-4 15:49 | 显示全部楼层
#include<stdlib.h>   
dengdc 发表于 2022-9-4 15:51 | 显示全部楼层
在stdlib.h(C)和cstdlib(C)中
dengdc 发表于 2022-9-4 15:52 | 显示全部楼层
C语言malloc函数   
wyjie 发表于 2022-9-4 15:55 | 显示全部楼层
需要告知编译器程序中将会使用动态内存分配
supernan 发表于 2022-9-4 16:00 | 显示全部楼层
选项位于 Project -> Build Option -> MPLab xx Link 这个界面里,找到 Heap Size这个框,在旁边输入动态分配可能需要的字节数即可。
liuzaiy 发表于 2022-9-4 16:02 | 显示全部楼层
malloc.h或者stdlib.h   
kangzj 发表于 2022-9-4 16:06 | 显示全部楼层
有2个头文件都可以 C头文件
jiaxw 发表于 2022-9-9 19:40 | 显示全部楼层
标准C可以用stdlib.h 但有些非标准的c编译器要求引用malloc.h
Stahan 发表于 2022-9-10 22:43 | 显示全部楼层
引用malloc.h试试
tpgf 发表于 2022-10-8 11:55 | 显示全部楼层
编译器和软件版本是不是不匹配导致的呢
qcliu 发表于 2022-10-8 12:08 | 显示全部楼层
那么如何告知编译器程序中将会使用动态内存分配呢?
drer 发表于 2022-10-8 12:15 | 显示全部楼层
楼主确定引用相关的头文件了吗 有报错是找不到这个函数定义吗
coshi 发表于 2022-10-8 12:42 | 显示全部楼层
stdlib.h 和 malloc.h 中都有malloc函数的话 这俩文件中的函数是一模一样的吗
kxsi 发表于 2022-10-8 13:35 | 显示全部楼层
如何预判动态分配可能需要的字节数呢
wiba 发表于 2022-10-8 13:58 | 显示全部楼层
当前引用头文件的路径是不是出现问题了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

940

主题

11975

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部