hugang0120 发表于 2010-1-30 10:46:12

请教高手,高手我怎么用malloc在430中分配内存?

我用这条语句const uchar *py_begin=(uchar *)malloc(n*sizeof(uchar));给一些数据分配内存空间,但是编译总出错误,有谁告诉我该怎么解决?

lryylryy 发表于 2010-1-30 11:01:03

是不是你malloc的数量超过能提供的ram数量了?

hugang0120 发表于 2010-1-30 13:53:49

不会吧?应该是放在flash中吧?

hugang0120 发表于 2010-1-30 13:54:17

数量是挺大的,大不超过8KB

hugang0120 发表于 2010-1-30 14:06:24

RAM的空间为10KB,但我要存的数据不到8KB

lryylryy 发表于 2010-1-31 20:44:08

const uchar *py_begin=(uchar *)malloc(n*sizeof(uchar));

py_begin是存在flash中的
但是你分配到的内存在ram中,数量为n*sizeof(uchar)

alicedodo 发表于 2010-5-6 15:16:28

回复【楼主位】hugang0120
-----------------------------------------------------------------------
5L正解!
const uchar *py_begin=(uchar *)malloc(n*sizeof(uchar));
因为加了“const”,py_begin的值是在编译的时候确定的,必须为常量即一个确定值,但是(uchar *)malloc(n*sizeof(uchar))的值是在程序运行过程中才确定的,其值不确定。故而出错。
页: [1]
查看完整版本: 请教高手,高手我怎么用malloc在430中分配内存?