From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.



导入DLL时簇为空



主要软件:
主要软件版本: 8.2
主要软件修正版本: N/A
次要软件: N/A

问题:

我想用LabVIEW的导入共享库工具导入一个包含C语言结构体或枚举数据类型的共享库。但是生成该函数的封装VI时失败了,因为该VI中包含了一个空的簇。为什么会这样呢?怎样解决这个问题?



解答:

生成的VI中包含空簇意味着C函数原型中包含了LabVIEW所不支持的数据类型。LabVIEW只支持标准的ANSI C数据类型,但是不支持某些供应商提供的非标准数据类型。比如在Visual C中是支持DWORD和BYTE的,但是ANSI C则不支持这两种数据类型。

如果想在LabVIEW中使用共享库工具导入这样的数据类型,必须将这些数据类型转换为相应的标准C数据类型。例如,你可以在包含DWORD和BYTE数据类型的DLL的头文件中加入如下几行:

typedef char BYTE;
typedef int DWORD;

在LabVIEW中,通过Help»Find Examples...,可以打开范例查找器找到一个LabVIEW自带的范例程序叫做Call DLL.vi,该范例给出了不同的C数据类型与LabVIEW数据类型的对应关系。



相关链接:

附件:





报告日期: 10/15/2007
最近更新: 12/13/2007
文档编号: 4EE2QAG5