当前位置:网站首页 > 技术经理的晋升之路 > 正文

labview调用dll动态库使用相对路径(labview调用静态库lib)



1、  【转】 labview dll的调用  【转载】武汉高收入高福利公司排行榜在LabVIEW中调用DLL的整个过程及注意事项  2011-09-15 21:25:44|  分类: 驱动开发 |  标签: |字号大中小 订阅 1. LabVIEW支持的数据类型< xmlnamespace prefix ="o" ns ="urn:schemas-microsoft-com:office:office" />    

2、 另外,可参考Program FilesNational InstrumentsLabVIEW 2009examplesdlldata passingCall Native Code.llbCall DLL.vi。此VI列举了LabVIEW与C语言中兼容的数据类型。见下表。2. 在VI里调用DLL时,在DLL的左侧给输出端口添加初始化的值。给输出端口添加初始化值的目的是分配内存给输出端口。该初始化数组元素的个数至少为实际输出数组的个数。若过小,则DLL不正常运行;若相等,则DLL正常运行;若过大,则DLL的数组输出端口除有效数据外,还有其他一些为0的非有效数据。< xmlnamespac

3、e prefix ="v" ns ="urn:schemas-microsoft-com:vml" />  3.使用DLL的步骤1)制作子VI,添加控件接口到连接端(connector)。2)在新建的VI中添加DLL,在DLL中指定其路径,会自动添加该DLL包含的输入输出端口。对于数值型输出,选择Point to value。  选中“Specify path or diagram”,表示动态调用该DLL,此时路径取决于最上端的路径输入端,Library name or path里输入的路径无效。在parameters

4、页,系统会自动添加DLL的输入输出端口,如果添加不完整,则需要再手动添加额外的输入端或者输出端。需检查DBL输入:Value;DBL输出Pointer to Value。 3)务必给DLL的每个输出端添加初始值,否则DBL数组没有输出。len、 len2分别为输入数组、输出数组的个数,需将这两个参数设置为与实际的数组大小一致。4)C调用,具体为什么选择C调用,可参考:Calling convention 用于指明被调用函数的调用约定。这里只支持两种约定:stdcall 和 C call。它们之间的区别在于,stdcall 由被调用者负责清理堆栈;C call 由调用者清理堆栈(在La

5、bVIEW中调用该DLL,则选择C调用)。这个设置错误时,可能会引起 LabVIEW 崩溃,所以一定要小心。反过来说,如果 LabVIEW 调用 DLL 函数时出现异常,首先就可以考虑这个设置是否正确。(Windows API 一般使用的都是 stdcall;标准C的库函数大多使用 C call。如果函数声明中有类似 _stdcall 这样的关键字,它就是 stdcall 的。)具体链接为:另外,也可以这样理解。对库函数的调用规则,选择stdcall。比如调用凌华的数据采集卡驱动提供的DLL,则选择stdcall调用规范。调用自己用C语言写的程序而后编译成DLL文件时,调用规范选择“C”。5)

6、选择哪种线程?选择Run in UI thread,具体为什么选择该界面线程(Run in UI thread),可参考如下链接:6)如果动态调用,则必须设置调用DLL的那个VI。设置该VI的执行系统不能够为“User Interface”。如果是静态调用,则可不用设置该项。关于调用DLL导致LabVIEW崩溃的解决办法,可参考如下链接:4. 生成DLL的两种方式1. LabVIEW环境不过多赘述。在DLL和LabVIEW之间传递参数,最常用的三种数据类型是:数值类型、字符串、数值型数组。2 VC等环境以VC环境为例,参考一个例子解释:此例子讲述了如何在VC中建立DLL,以及如何在VC中使用D

7、LL。5.动态链接库1)静态库和动态库静态库:函数和数据被编译成一个二进制文件(一般为LIB格式),在使用静态库编译链接可执行文件时,链接器从库中复制这些函数和数据并把它们和应用程序的其他的模块组合起来创建最终的可执行文件(EXE文件)。动态库:在使用动态库时,往往提供两个文件:引入库(.lib)和一个DLL(.dll)文件。该引入库不同于静态库,因为引入库文件包含了该DLL导出的函数和变量的符号名,而.dll文件包含该DLL实际的函数和数据。在使用动态库编译链接可执行文件时,只需要链接该DLL的引入库文件,该DLL中的函数代码和数据并不复制到可执行文件中,直到可执行程序运行时,才去加载所需的DLL。2)使用动态链接库的好处动态链接库通常不能直接运行,也不能接收消息。它们是一些独立的文件,其中包含了能被可执行程序

到此这篇labview调用dll动态库使用相对路径(labview调用静态库lib)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • ip地址换算mac地址(ip地址与mac地址之间的转换协议)2025-02-18 16:09:08
  • max3221原理图(max3232电路)2025-02-18 16:09:08
  • ipv6回环地址(ipv6环路地址)2025-02-18 16:09:08
  • 华为模拟器路由器接口配置ip地址(华为模拟器路由器网关怎么配)2025-02-18 16:09:08
  • conda删除虚拟环境路径(conda 退出虚拟环境)2025-02-18 16:09:08
  • 扬声器的电路图(扬声器的电路图原理)2025-02-18 16:09:08
  • 电路工作原理说明(电路工作原理说明怎么写)2025-02-18 16:09:08
  • 怎么删除虚拟硬盘(如何删除磁盘中的虚拟机)2025-02-18 16:09:08
  • lxml怎么安装(安装lxml之前要安装什么)2025-02-18 16:09:08
  • 电路中ga是什么意思(ga在电路图中代表什么)2025-02-18 16:09:08
  • 全屏图片