我正在研究一些数据在 LabVIEW 和 DLL 之间传递的问题。 我想知道如何实现一个函数,LabVIEW以字符串形式向DLL提供唯一的名称,然后DLL根据名称返回一个指向特定内存块的指针。 换句话说,它就像网络领域中的域名和IP地址之间的关系一样。 但“名称”是用户定义的,我返回在运行时为名称动态分配的指针。这意味着该关系不是预定义的。没有可遵循的查找表。
示例: int* Mydll(char* 名称);
我认为这是 C++ 中的某种“对指针的引用”,但我不太确定。如果是这样,我该如何实现?
最佳答案
- 删除调用库节点。
- 根据您的平台位数将返回类型配置为“int32”或“int64”(LV不处理原始指针,但如果您的DLL返回指针,LV可以保留该数值,直到您准备好传递它传递给其他知道如何处理它的 DLL 调用)。
- 添加参数。将其配置为“String”类型并将传递方法设置为“C String Pointer”并启用“Constant”复选框。
这样就可以了。您可以将此图像直接拖放到程序框图上(它是一个 VI 片段)来创建这样的节点 - 只需配置 DLL 和函数名称即可。
关于c++ - LabVIEW 和 C++ DLL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32666566/