打印
[PIC®/AVR®/dsPIC®产品]

无法使用malloc函数

[复制链接]
1133|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)吧   

使用特权

评论回复
5
xxrs| | 2022-9-4 15:42 | 只看该作者
stdlib.h 和 malloc.h 中都有malloc函数的。

使用特权

评论回复
6
juventus9554| | 2022-9-4 15:49 | 只看该作者
#include<stdlib.h>   

使用特权

评论回复
7
dengdc| | 2022-9-4 15:51 | 只看该作者
在stdlib.h(C)和cstdlib(C)中

使用特权

评论回复
8
dengdc| | 2022-9-4 15:52 | 只看该作者
C语言malloc函数   

使用特权

评论回复
9
wyjie| | 2022-9-4 15:55 | 只看该作者
需要告知编译器程序中将会使用动态内存分配

使用特权

评论回复
10
supernan| | 2022-9-4 16:00 | 只看该作者
选项位于 Project -> Build Option -> MPLab xx Link 这个界面里,找到 Heap Size这个框,在旁边输入动态分配可能需要的字节数即可。

使用特权

评论回复
11
liuzaiy| | 2022-9-4 16:02 | 只看该作者
malloc.h或者stdlib.h   

使用特权

评论回复
12
kangzj| | 2022-9-4 16:06 | 只看该作者
有2个头文件都可以 C头文件

使用特权

评论回复
13
jiaxw| | 2022-9-9 19:40 | 只看该作者
标准C可以用stdlib.h 但有些非标准的c编译器要求引用malloc.h

使用特权

评论回复
14
Stahan| | 2022-9-10 22:43 | 只看该作者
引用malloc.h试试

使用特权

评论回复
15
tpgf| | 2022-10-8 11:55 | 只看该作者
编译器和软件版本是不是不匹配导致的呢

使用特权

评论回复
16
qcliu| | 2022-10-8 12:08 | 只看该作者
那么如何告知编译器程序中将会使用动态内存分配呢?

使用特权

评论回复
17
drer| | 2022-10-8 12:15 | 只看该作者
楼主确定引用相关的头文件了吗 有报错是找不到这个函数定义吗

使用特权

评论回复
18
coshi| | 2022-10-8 12:42 | 只看该作者
stdlib.h 和 malloc.h 中都有malloc函数的话 这俩文件中的函数是一模一样的吗

使用特权

评论回复
19
kxsi| | 2022-10-8 13:35 | 只看该作者
如何预判动态分配可能需要的字节数呢

使用特权

评论回复
20
wiba| | 2022-10-8 13:58 | 只看该作者
当前引用头文件的路径是不是出现问题了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

940

主题

11975

帖子

6

粉丝