微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 测试测量 > Labview > LabVIEW 太过封闭,不能呼叫其他程序语言所建立的 DLL ?

LabVIEW 太过封闭,不能呼叫其他程序语言所建立的 DLL ?

时间:10-02 整理:3721RD 点击:
如题答案是No! LabVIEW 是一个开放的程序语言,可以与其他程序所建立的 Shared Library 沟通。

通常比较大的应用程序都是许多的模块所组成,这些模块分别完成相对独立的功能,其中可能存在一些模块的功能是较为常用,在建构其它软件系统时仍会被使用。所 以在建构其它的软件项目时,若将所有的模块都编译到执行档中,则会造成档案过大,并影响程序执行速度,反之如果将重覆使用的程序模块变成动态载入的型式, 势必能够加快程序的运行并能提升程序的执行效率。


在 Windows 系统中定义了一种档案型态,能够动态地进行载入及执行,我们称为 DLL ( Dynamic Linkable Library ),也就是动态函式库;所以您可以将重覆使用的程序编译成 DLL 的格式,不仅能够帮助您节省磁碟的储存空间,并能够增加程序的执行效率。
LabVIEW 给人一般的印象是好用容易上手,但它也是一套功能十分完整的程序,内建了高达 2000 个以上的函式,对于 DLL 的载入当然也提供了相关的元件让您使用。常见的方法有以下两种:


1 . 使用 Call Library Function Node :
在 Connectivity >> Libraries & Executables 内,使用 Call Library Function Node 与 System Exec 分别可以呼叫外部程序所建立的 DLL / Windows API 或 EXE 档。在 Library name or path 的栏位选择欲载入的 DLL 档,然后使用 Function name 栏位去选择欲使用的函式名称(一个 DLL 档中可以放置多个函式)。



图 9 . LabVIEW 有提供呼叫外部 DLL 或 EXE 的函式

接着需要在 Parameters 页面进行输入与输出变量的宣告,简单的型态象是 Numeric 、 String 等,但每种语言并不是所有的资料结构都相同,所以此时可以参考 LabVIEW 内建的范例程序 Call DLL.vi ,该程序可以帮助您了解 C 和 LabVIEW 间资料型态的对应关系,以设定正确的变量资料型态。


图 10 . LabVIEW 中的范例程序 Call DLL.vi ,可供查询合适的变量资料型态

2 . 使用 Import Shared Library Wizard :
LabVIEW 也提供了简易使用外部 DLL 的方式,即是使用 Tools 下的 Import >> Shared Library ( .dll )。透过此精灵的一步步设定,即可将 DLL 内的各函式快速地转变成各 LabVIEW 中的 VI 。使用者可以利用这种方式快速地将 DLL 汇入,再根据自己的需求针对个别 VI 作修改或调整。


图 11 . 使用 LabVIEW 提供的汇入精灵,可快速地使用外部 DLL

不只是 DLL ,在 Windows 中常见的 ActiveX 与 .NET 物件等, LabVIEW 也都提供了对应的函式来使用;至于其他不同的程序语言或特殊型态的动态函式库,也都有其对应的呼叫方式。


学习啦         

入门级的教导,没什么新的解说。网上的二个版本比你详细多了!

挺好的 加油~~~~~~

分享一下呗

谢谢分享                                                      

简明扼要的说了dll的调用方法,很不错的帖子。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top