LabVIEW调用库函数节点

调用库函数节点配置–函数
在这里插入图片描述

库名/路径:

输入或选择DLL的函数名或者全路径。当DLL在系统目录下时,不需要输入全路径。

在程序框图中指定路径:

如未选择,则LabVIEW静态调用了这个DLL。当调用DLL的这个vi被加载到内存时,这个DLL也被加载到了内存中。只有当运行DLL的这个vi关闭后,DLL才会被卸载出内存,这个vi运行完成后,DLL并不会被卸载出内存。 如选择,则LabVIEW动态调用了这个DLL。调用库函数节点会多出路径接线端,需要在程序框图中输入DLL路径。只有当LabVIEW运行到该调用库函数节点时才会将DLL加载到内存中。调用库函数节点运行完成后,LabVIEW并不会立即将DLL清除内存,如果后续使用到这个DLL文件就不会加载了,只有程序传个调用库函数节点一个空路径,LabVIEW才会将加载的DLL卸载出内存。

函数名:

如果在库名和函数名处输入了正确的路径,则在函数名处则可以在下拉菜单中选择相应的函数。
线程:线程用于选择被调用的DLL在何线程中运行。 在UI线程中运行: 在界面线程中调用的函数。界面线程是指用于处理所有与界面相关的工作,一个Labview程序只有一个界面线程。 在任意线程中运行:无法确定Labview会在哪个线程中调用这个函数。
对比:在任意线程中使用时需要保证该DLL是多线程安全的,如果不能保证为了保险起见还是设置为在UI线程中使用。 在任意线程中运行时,Labview会将该函数放到与其代码前后相同的线程内,且允许Labview在多个线程内同时调用该函数,故执行速度和效率较高。

调用规范

stdcall:由被调用者清理堆栈。WINAPI一般使用stdcall调用规范。如果函数声明中有“—std-call”这样的关键字,则它就是stdcall 的。
C call:由调用者清理堆栈。标准C的库函数大多数使用C call。

如果调用DLL函数出现错误,应该首先考虑调用规范是否出错。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值