我正在从LabView调用一个用C++编写的动态链接库。函数原型为:
ULONG DAQ_Open(PVOID *pHandle);
如何从LabView传递正确的参数?将指针类型的参数从LabView传递到DLL是不可能的吗?
发布于 2011-09-29 14:24:25
只要您不希望将指针传递到LabVIEW VI以用作回调(这是一个单独的、困难得多的答案),该参数就只是一个指针。当您配置调用库节点时,请使用类型"numeric“和数据类型"unsigned指针大小的整数”,并传递"pointer to value“。
这将为您提供一个原型: void funcName(uintptr_t *arg1);
发布于 2011-10-11 18:51:59
有关从LabVIEW调用DLL(包括指针、结构、数组等)的其他示例,这里有一篇很方便的文章,链接到其他几个深入的示例:https://decibel.ni.com/content/docs/DOC-9076
发布于 2011-09-28 16:19:32
你应该在NI的网站上搜索“dll pointers labview”来获得一个想法。此外,LabVIEW附带了一个名为Call DLL.vi的示例,其中包含有关如何实现这一点的示例。可以通过导航帮助->查找示例,然后搜索DLL来找到示例VI。
Call DLL.vi VI允许您浏览外部代码(C和C++)数据类型的示例以及它们与LabVIEW的接口方式。每种数据类型都有一个示例VI,用于演示Call Library函数节点的用法。要打开特定数据类型的example VI,请从左侧列表中选择该数据类型,然后按"Open Example VI for Current data type“按钮。函数原型、函数源代码以及有关此示例的任何特定详细信息都将出现在外部代码信息集群中。
https://stackoverflow.com/questions/7585744
复制相似问题