1、LabVIEW也能够创立DLL
2、调用标准阐明:C调用标准时,调用方担任清空仓库。运用标准调用标准时,被调用函数担任清空仓库。
所以要承认您挑选了和DLL相同的调用标准
3、调用库函数节点(CLF)中线程形式:在UI线程中运转(Run in UIThread)形式;在恣意线程中运转(Reentrant)形式。
Runin UI Thread表明在用户界面线程中调用,DLL的履行期将比及用户界面线程履行DLL的导出函数调用时才开端;Reentrant表明答应多个线程一起调用这个DLL.
4、线程形式的挑选准则:
假如DLL为线程安全———简略地说,便是编制DLL过程中,充分考虑了线程维护的同步机制,如运用临界区、互斥、信号量等,那么能够选用Reentrant方法,这将有助于进步DLL调用的功能;假如你不确定DLL是否为线程安全,选Run in UI Thread.
5、以下是LabVIEW Help中有关线程形式挑选准则的阐明:
线程——操控“调用库函数节点”持续在VI当时履行的线程履行或转向用户界面线程。默许状况为在UI线程中运转。
在UI线程中运转——指定“调用库函数节点”有必要在用户界面线程中运转。LabVIEW生成的同享库在UI线程中运转时,如经过在程序框图中指定途径动态加载该同享库,可导致LabVIEW挂起。
在恣意线程中运转——指定“调用库函数节点”持续在VI当时履行的线程上运转。有必要保证多个线程可一起调用函数。
注:对LabVIEW生成的同享库的调用有必要指定为在恣意线程中运转。如装备“调用库函数节点”调用LabVIEW生成的同享库并指定在UI线程中运转,LabVIEW将或许挂起并恳求重新启动体系。
6、综上所述:LabVIEWDLL具有满足的能够让多个线程调用的安全性。能够定心的以“在恣意线程中运转”形式运转LabVIEW.假如以“在UI线程中运转”形式运转,假如动态加载DLL途径会导致程序挂起。
7、Labview编写的dll还有一个长处:调用时不需要为输入参数的类型忧愁,他是主动加载。
有关labviewdll与labview数据类型的对照今后在渐渐研讨。