我应该如何把Java和NI的软件产品结合起来?



主要软件:
主要软件版本: 7.1
主要软件修正版本: N/A
次要软件: N/A

问题:
我希望我能从 LabVIEW 或 LabWindows/CVI 去调用 Java 的类方法 (Method) , 或是从 Java 类 (classes) 去调用 LabVIEW VIs 和LabWindows/CVI 的函数,请问我应该怎么来实现?


解答:

为了从 LabVIEW 和 LabWindows/CVI 去调用 Java 的类方法 (methods), 或反之,你必须用到 "Java Native Interface", 或简称为 "JNI"。

调用 JNI 中特定的类方法 (methods) 你可以利用 Java Virtual Machine 去执行 classes 并传回数据,也就是说你可以使用 Java Native Interface 从"native code" 模块 (比如C-based .dlls or .exes) 去调用 Java 的类方法 (class methods) 和存取其类属性 (properties) (比如是字符串和数组)。 相反地,使用 JNI 去建立可以从 Java 被调用的 native 函数, 你也就可以从 Java 类中去调用 native 代码函数。

对 LabVIEW 而言,如果你希望在程序框图中使用 Java 类 (classes), 你最好使用例如是 LabWindows/CVI 这类的集成的开发环境去把函数封装成可以被 JNI 內部调用的 dll 文件, 并从 LabVIEW 中的 "调用库函数.vi (Call Library Function.vi)" 去使用这个C语言的 dll (注意: 这是因为 JNI 要求使用可能无法从内部解析所有外部参考的静态函数库 (static library))。 相反的状况下,你可能会希望从 Java 类 (classes) 中去调用 LabVIEW 的 VIs。 此时你应该要使用应用程序生成规范 (Application Builder - build specfications) 将你的 VIs 建立成 dll 文件并使用 Java 类 (class) 中的JNI 去调用 dll 的函数方法。

从 LabWindows/CVI 你会像其他 C/C++ 的集成式开发环境一样使用 JNI 去调用 Java 类方法 (methods) 或使用从你的 Java 类 (classes) 中去使用native 代码函数。 这些操作的相关讯息全部都包含在下面 Sun 公司 JNI 文件的链接里面。

请参考下面 Sun 公司的网站教堂以寻找关于如何在你的 Java 和 Native code 中使用 JNI 的详细信息: JNI 概述



相关链接:

附件:





报告日期: 05/29/2002
最近更新: 01/08/2010
文档编号: 2LSD1FEV