NI LabVIEW,CVI,数据采集等产品讨论区

取消
显示结果 
搜索替代 
您的意思是: 

没有足够内存完成合并数组build array操作(急)

用12bit,250k采集卡顺序采集四道激光测距数据,我把每一道数据用build array连成一个一维数组,当我用build array把四道一维组成二维数组 的时候程序提示----没有足够内存完成操作----请问怎样解决.
0 项奖励
1 条消息(共 4 条)
3,507 次查看
build array每用一次就要做一次数据拷贝和内存重新分配,如果在循环里面使用需要消耗大量的内存,导致内存不足。建议你在初始化数组时先预分配好大小,后面用replace array subset代替build array来存储数据。
2 条消息(共 4 条)
3,500 次查看
用了replace array subset代替build array,结果一样,还是没有足够内存来完成操作,我的一维数组大小819200,元素为单精度浮点,一维时候没问题,四条合成二维时就出现''没有足够内存完成操作'
0 项奖励
3 条消息(共 4 条)
3,449 次查看
单通道800K的数据量来build array,如果build的是四通道的array一次性就消耗约800K×4×2的内存大小,这样的运算放在循环里面确实内存消耗量很大,容易导致不足。 你是不是考虑一下借助LabVIEW的存储功能,把读取出来的数据在积累到这么大的数据量之前存储到硬盘上?
0 项奖励
4 条消息(共 4 条)
3,427 次查看