用 JNI 进行 Java 编程(3)
从 C/C++ 程序调用 Java 代码 概述 JNI 允许您从本机代码内调用 Java 类方法。要做到这一点,通常必须使用 Invocation API 在本机代码内创建和初始化一个 JVM。下列是您可能决定从 C/C++ 代码调用 Java 代码的典型情况: 希望实现的这部分代码是平台无关的,它将用于跨多种平台使用的功能。 需要在本机应用程序中访问用 Java 语言编写的代码或代码库。 希望从本机代码利用标准 Java 类库。 从 C/C++ 程序调用 Java 代码的四个步骤 从 C/C++ 调用 Java 方法过程的四个步骤如下: 编写 Java 代码 。这个步骤包含编写一个或多个 Java 类,这些类实现(或调用其它方法实现)您想要访问的功能。 编译 Java 代码 。在能够使用这些 Java 类之前,必须成功地将它们编译成字节码。 编写 C/C++ 代码 。这个代码将创建和实例化 JVM,并调用正确的 Java 方法。 运行本机 C/C++ 应用程序 。将运行应用程序以查看它是否正常工作。我们还将讨论一些用于处理常见错误的技巧。 步骤 1:编写 Java 代码 我们从编写一个或多个 Java 源代码文件开始,这些文件将实现我们想要本机 C/C++ 代码使用的功能。 下面显示了一个 Java 代码示例 Sample2.java: public class Sample2