打印

DSP的可变长度数组申请

[复制链接]
1316|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sishangcine|  楼主 | 2012-9-25 19:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有个压缩算法,在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”



请问高手这个问题怎么解决啊?

相关帖子

沙发
sishangcine|  楼主 | 2012-9-25 19:15 | 只看该作者
DSP上怎么定义一个可变长度的数组?

使用特权

评论回复
板凳
heibaiyinjiag| | 2012-9-25 19:18 | 只看该作者
你还是别用变长的吧,定长的也应该够用了吧,再说现在编译器支持C99的不多

使用特权

评论回复
地板
taihezhibanh| | 2012-9-25 19:22 | 只看该作者
用固定长度的数组也有一个折中的办法,把数组长度定义一个比较大的值,然后可以用strlen()获取实际长度(不能用sizeof)。

使用特权

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

本版积分规则

43

主题

1046

帖子

1

粉丝