LabVIEW创建DLL的方法

 我来答
一袭可爱风1718
2022-06-01 · TA获得超过1.3万个赞
知道大有可为答主
回答量:6805
采纳率:99%
帮助的人:40万
展开全部

LabVIEW创建DLL的方法

  为了方便大家的学习,下面我为大家整理了关于LabVIEW创建DLL的方法,希望对你有所帮助。

  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还有一个优点:调用时不需要为输入参数的类型发愁,他是自动加载。


;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式