#ni #lab-view #wrapper #reference #called #array #labview

labview-interop

作为库被调用时与 LabVIEW 交互的类型和包装器

4 个版本 (2 个破坏性更改)

0.3.0 2024 年 5 月 4 日
0.2.1 2023 年 10 月 6 日
0.2.0 2023 年 7 月 28 日
0.1.0 2023 年 2 月 18 日

#1008 in Rust 模式

MIT 许可证

53KB
895

Rust-LabVIEW-Interop

一个用于在 Rust 和 LabVIEW 之间轻松工作的包。

此项目正在积极开发中,应被视为不稳定。已实现关键类型和功能,但 API 可能会在未来的版本中根据反馈而更改。

期望的下一步

  • 自定义 LabVIEW 参考。我在 openG zip 工具中看到过这种用法,它允许你在 LabVIEW 中创建一个 RAII 参考,这可能非常有帮助。我们能否将其作为 Rust 中的智能指针实现。
  • 更多内存功能,例如调整数组大小。
  • EDVR 访问

结构

目标是每个这些区域都有一个模块和功能

支持

目标是支持 Windows 上的 32 位和 64 位,以及 Linux 上的 64 位。

32 位簇

LabVIEW 在 32 位模式下使用簇打包,这阻止了 Rust 中获取簇中数据的引用,因为所有引用都必须对齐。

查看 https://doc.rust-lang.net.cn/std/ptr/fn.read_unaligned.html 了解如何读取这些值。

由于这个限制,我建议尽可能使用 64 位 LabVIEW。

贡献

我非常欢迎不同领域的贡献。请创建一个问题并讨论您想要添加的内容,以确保我们不会重复工作。

依赖关系

~3–4.5MB
~146K SLoC