请教高手,高手我怎么用malloc在430中分配内存?
我用这条语句const uchar *py_begin=(uchar *)malloc(n*sizeof(uchar));给一些数据分配内存空间,但是编译总出错误,有谁告诉我该怎么解决? 是不是你malloc的数量超过能提供的ram数量了? 不会吧?应该是放在flash中吧? 数量是挺大的,大不超过8KB RAM的空间为10KB,但我要存的数据不到8KB const uchar *py_begin=(uchar *)malloc(n*sizeof(uchar));py_begin是存在flash中的
但是你分配到的内存在ram中,数量为n*sizeof(uchar) 回复【楼主位】hugang0120
-----------------------------------------------------------------------
5L正解!
const uchar *py_begin=(uchar *)malloc(n*sizeof(uchar));
因为加了“const”,py_begin的值是在编译的时候确定的,必须为常量即一个确定值,但是(uchar *)malloc(n*sizeof(uchar))的值是在程序运行过程中才确定的,其值不确定。故而出错。
页:
[1]