关于cin节点数组相加
时间:12-13
整理:3721RD
点击:
/* CIN source file */
#include "extcode.h"
#define ParamNumber 2
#define NumDimensions 2
/* Typedefs */
typedef struct {
int32 dimSizes[2];
float64 arg[1];
} TD1;
typedef TD1 **TD1Hdl;
MgErr CINRun(TD1Hdl a, TD1Hdl b, TD1Hdl c, LVBoolean *Boolean);
MgErr CINRun(TD1Hdl a, TD1Hdl b, TD1Hdl c, LVBoolean *error)
{
int32 i,j;
int32 rows,cols;
float64 *a1,*b1,*c1;
MgErr err=noErr;
int32 newNumElmts;
if(((rows=(*a)->dimSizes[0])!=(*b)->dimSizes[0])&&((cols=(*a)->dimSizes[1])
!=(*b)->dimSizes[1]))
{
*error=LVTRUE;
goto out;
}
*error=LVFALSE;
newNumElmts=2*rows*cols;
if(err=SetCINArraySize((UHandle)c,ParamNumber,newNumElmts))
goto out;
a1=(*a)->arg;
b1=(*b)->arg;
c1=(*c)->arg;
for(i=0;i<rows;i++)
for(j=0;j<cols;j++)
{
c1[i*cols+j]=a1[i*cols+j]+b1[i*cols+j];
}
out:
return err;
/* Insert code here */
return noErr;
}
这个程序老是在labview 中提示memory满 出错!
请高手指点下!
#include "extcode.h"
#define ParamNumber 2
#define NumDimensions 2
/* Typedefs */
typedef struct {
int32 dimSizes[2];
float64 arg[1];
} TD1;
typedef TD1 **TD1Hdl;
MgErr CINRun(TD1Hdl a, TD1Hdl b, TD1Hdl c, LVBoolean *Boolean);
MgErr CINRun(TD1Hdl a, TD1Hdl b, TD1Hdl c, LVBoolean *error)
{
int32 i,j;
int32 rows,cols;
float64 *a1,*b1,*c1;
MgErr err=noErr;
int32 newNumElmts;
if(((rows=(*a)->dimSizes[0])!=(*b)->dimSizes[0])&&((cols=(*a)->dimSizes[1])
!=(*b)->dimSizes[1]))
{
*error=LVTRUE;
goto out;
}
*error=LVFALSE;
newNumElmts=2*rows*cols;
if(err=SetCINArraySize((UHandle)c,ParamNumber,newNumElmts))
goto out;
a1=(*a)->arg;
b1=(*b)->arg;
c1=(*c)->arg;
for(i=0;i<rows;i++)
for(j=0;j<cols;j++)
{
c1[i*cols+j]=a1[i*cols+j]+b1[i*cols+j];
}
out:
return err;
/* Insert code here */
return noErr;
}
这个程序老是在labview 中提示memory满 出错!
请高手指点下!
没有初始化把,大哥
为什么一定要用cin呢,dll不是更方便么
呵呵!
搞定了!
函数的处理有问题!
用cin方便阿!
dll返回数组不方便阿!