用 JNI 进行 Java 编程(2)
从 Java 程序调用 C/C++ 代码 概述 当无法用 Java 语言编写整个应用程序时,JNI 允许您使用本机代码。在下列典型情况下,您可能决定使用本机代码: 希望用更低级、更快的编程语言去实现对时间有严格要求的代码。 希望从 Java 程序访问旧代码或代码库。 需要标准 Java 类库中不支持的依赖于平台的特性。 从 Java 代码调用 C/C++ 的六个步骤 从 Java 程序调用 C 或 C ++ 代码的过程由六个步骤组成。 我们将在下面几页中深入讨论每个步骤,但还是先让我们迅速地浏览一下它们。 编写 Java 代码 。我们将从编写 Java 类开始,这些类执行三个任务:声明将要调用的本机方法;装入包含本机代码的共享库;然后调用该本机方法。 编译 Java 代码 。在使用 Java 类之前,必须成功地将它们编译成字节码。 创建 C/C++ 头文件 。C/C++ 头文件将声明想要调用的本机函数说明。然后,这个头文件与 C/C++ 函数实现(请参阅步骤 4)一起来创建共享库(请参阅步骤 5)。 编写 C/C++ 代码 。这一步实现 C 或 C++ 源代码文件中的函数。C/C++ 源文件必须包含步骤 3 中创建的头文件。 创建共享库文件 。从步骤 4 中创建的 C 源代码文件来创建共享库文件。 运行 Java 程序 。运行该代码,并查看它是否有用