DSP的可变长度数组申请

2019-03-26 16:39发布

我有个压缩算法,在windows下运行是完全OK的,但移植到DSP下,遇到内存问题,下面我大概说下问题结构: 大概有结构如下 typedef struct _COMPRESSED_DATA_
{
  int width;  int height;  BYTE  m_Data[0];      // 压缩后数据
}COMPRESSEDDATA,PCOMPRESSEDDATA;   移植到CCS上编译,BYTE  m_Data[0]报错;  我改成BYTE  *m_Data; 编译通过,运行用监视器发现m_Data的地址显示 “cannot read memory at 0x00000001:memory is not present”   请问高手这个问题怎么解决啊? DSP上怎么定义一个可变长度的数组? 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
3条回答
kooking
2019-03-27 02:21
程序在DSP下也是一样的,和普通C没有太大的区别,如果定义了指针,声明引用时必须初始化。
用固定长度的数组也有一个折中的办法,把数组长度定义一个比较大的值,然后可以用strlen()获取实际长度(不能用sizeof)。

一周热门 更多>