【问题标题】:Possibility to use 'wchar_t' string pointers in LabVIEW DLLs?是否可以在 LabVIEW DLL 中使用“wchar_t”字符串指针?
【发布时间】:2017-06-05 09:02:45
【问题描述】:

我正在计划使用 C++ 编写的仅限 Windows 的测量系统。该系统应提供基于 DLL 的插件系统,因此同事可以通过自己编写特定的 DLL 来为外部硬件创建某种设备驱动程序

这里有很多聪明人在 NI LabVIEW 方面有经验,他们中的一些人很可能会使用该开发系统创建这些 DLL。 根据我自己(不是最新的)LV 经验,我记得当时不可能创建或使用使用wchar_t 编码字符串指针参数的 DLL。

由于我的测量系统的 API 只会将字符串参数公开为wchar_t,这对 LabVIEW 人员来说会是一个问题,还是我必须提供额外的函数以及字符串参数以供 LV DLL 调用(我尽量避免)?

【问题讨论】:

标签: dll unicode labview wchar-t


【解决方案1】:

LabVIEW 没有很好的内置对 Unicode(或 wchar_t)的支持,在程序中使用它们可能会很麻烦。我认为您有几种选择:

  1. 重新考虑 wchar_t 的使用,令我惊讶的是,对于测量设备,您必然需要使用 wchar_t。当然,这完全取决于您的系统。
  2. 为您的 dll 编写一个包装 dll,以便与 LabVIEW 或任何不支持 wchar_t 的语言进行通信。
  3. 在 Labview 中编写一个转换函数,将裸 wchar_t 数组检索为整数数组并将它们转换为 ASCII 码。在调用您的 dll 后使用此函数转至 ASCII 码。

您最好提前考虑并尝试创建 LabVIEW 可以与之通信的 DLL。我认为您只需要更进一步,与您公司的 Labview Guys 交谈,看看他们更喜欢哪种解决方案,这使得以后的集成变得更加容易。

【讨论】:

    猜你喜欢
    • 2020-10-02
    • 1970-01-01
    • 2011-10-11
    • 2021-10-15
    • 2021-04-15
    • 1970-01-01
    • 1970-01-01
    • 2017-03-08
    • 2011-03-07
    相关资源
    最近更新 更多