LabVIEW生成的共享库的特点
- 更新时间2025-08-27
- 阅读时长2分钟
LVDLLStatus函数
所有在LabVIEW中创建的DLL及导出的函数都包括一个名为LVDLLStatus导出函数,其原型如下:
MgErr LVDLLStatus(CStr errStr, int32 errStrLen, void *module)调用方程序使用该函数检验LabVIEW DLL是否已正确加载。如加载DLL时发生错误,则函数返回该错误。将一个字符串缓冲区传递至errStr参数可接收错误的其他信息。将errStrLen参数设置为errStr传递的字符串缓冲区中的字节数。使用模块参数以接收DLL使用的LabVIEW Run-Time引擎的句柄。一般该参数设置为NULL。
如果LabVIEW在LabVIEW运行引擎仍在加载时调用该函数,则LVDLLStatus函数会阻止执行。
注: 如从LabVIEW内部调用一个LabVIEW生成的DLL,LabVIEW将自动调用LVDLLStatus函数。
SetExecuteVIsInPrivateExecutionSystem函数
除导出的函数外,所有通过LabVIEW生成的DLL均包含一个名为SetExecuteVIsInPrivateExecutionSystem的导出函数,其原型如下:
Void SetExecuteVIsInPrivateExecutionSystem(Bool32值)通过此函数指定:当在其他语言的应用程序中调用LabVIEW共享库时,LabVIEW在多线程系统中执行VI。传递1至值参数时,当在其他语言的应用程序中调用LabVIEW共享库时,LabVIEW在多线程系统中执行VI。如调用该函数,函数的值参数将重写共享库属性对话框的高级页的在私有执行系统中执行VI复选框的值。
(macOS)要在LabVIEW中构建部分共享库,应用程序生成器必须使用gcc,即Unix和macOS操作系统的标准命令行编译器。通过苹果计算机的标准开发环境Xcode来安装gcc。可从Mac App Store免费下载Xcode。
内存分配
当LabVIEW数组作为句柄时,LabVIEW生成的共享库提供Allocate、Deallocate和Resize三个函数来管理和分配内存。打开生成的头文件查看生成的共享库的函数原型。