调用CIN节点,输出参数为数组,需要在C程序中为数组开辟内存空间么?
想用CIN节点,对采集的波形数据进行压缩运算,每隔一段对应位置的数据点相加(类似降采样),输出新的数组。需要处理的数据量很大,大概5120000个采样点。
我在代码中仅那定义了输出数组的长度,这样可以么?
调用此CIN时会弹出对话框出错,显示:“xxx”指令引用的内存“xxx”,该内存不能为“written”。
是不是需要对输出数组开辟内存空间?
typedef struct {
int32 dimSize;
float64 elt;
} TD1;
typedef TD1 **TD1Hdl;
MgErr CINRun(TD1Hdl x,TD1Hdl y);
MgErr CINRun(TD1Hdl x,TD1Hdl y)
{
float64 *xElmtp, *yElmtp;
length=(*x)->dimSize;
length2=length/4;
(*y)->dimSize=length2;//定义输出数组的长度
xElmtp=(*x)->elt;
yElmtp=(*y)->elt;
。。。。。此处省略
return noErr;
} 操作内存空间会有问题,用CIN?
为什么不用mathscript呢, 主要是为了提高运算速度。
用mathscrip运算速度比用LV自带函数还差。
昨天用CIN节点成功了,速度提高了十倍。!
页:
[1]