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

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

labview中的簇与C中的结构体

已解决!
转到解答

大家好,我在labVIEW2017调用dll时遇到一些问题,下面这个小测试一直提示错误代码1097,如果将input改为数组输入就可以,但是簇就不可以,请问是哪里出了问题呢,希望得到大家的帮助,万分感谢!)H}%LC24$F_3)6]R6CW9Y0I.png7$_MNAGE1Y9}IYXESEFX7PR.png7X5JIJ5}Y(HRZ0$6YMC8CCP.pngFUY$Q$P$0A5B@O1T_9{]C2L.png%(5$RMN{V18WKPIN9N$K2HL.pngdll1.PNG

0 项奖励
1 条消息(共 6 条)
3,333 次查看

你的C代码决定了输入为数组.

 

George Zou
0 项奖励
2 条消息(共 6 条)
3,324 次查看

非常谢谢您的回答,我的C代码输入为结构体指针类型的,这样是有问题的吗?我改为簇输入情况更糟糕了。

我还遇到了这样的问题,在labVIEW端用簇输入簇输出的时候,簇输出中既有数值又有数组的labview也是无响应,这种情况有什么方法可以解决吗?

或者有什么方法可以实现簇输入数组输出吗?

0 项奖励
3 条消息(共 6 条)
3,305 次查看
解答
已被主题作者 anovice1 接受

指针弄错地方了.

LabVIEW 中的簇在C中应该是:

typedef struct

{

double ID;   <= 这里不能用指针

double age;

} TD1;

void functionName(TD1* input, ...)

                                    ^ 这里用指针

 

George Zou
0 项奖励
4 条消息(共 6 条)
3,292 次查看

你次序颠倒了, 不然不会有这样的问题.

下次试一试先从LabVIEW下手, 生成输入输出控件, 配置DLL, 然后右击CLFN, 选"Create C File".

根据生成的C文件完成DLL, 最后将DLL加载到CLFN中.

 

George Zou
0 项奖励
5 条消息(共 6 条)
3,275 次查看

你好,请问这个问题怎么解决的?

0 项奖励
6 条消息(共 6 条)
1,554 次查看