1

Java、JNI 和 C++:如何从本地方法声明生成头文件?

我有 Java 项目,它通过 JNI 与 C++ 代码进行通信。现在的挑战是我需要添加新方法。我首先在 java 代码中声明本地方法。现在我需要为 JNI 方法重新生成头文件。我在 Eclipse 中工作,不知道该怎么做。

4

3 回答 3

3

这不是 Eclipse 内置的,但很容易做到:

  1. File » New... » XML File在您的项目中创建一个 Ant 文件(代码如下)。
  2. 转到Project » Properties » Builders » New... » Ant Builder将 Ant 文件添加为构建步骤。将刷新设置为“项目”,以便生成的文件显示在项目中。确保将构建步骤放在 Java Builder 步骤之后,因为javah读取已编译的class文件。

现在,无论何时更改 Java 代码,您都将始终拥有最新的头文件。您只需在 Ant 文件中列出适用的类。

<?xml version="1.0" encoding="UTF-8"?>
<project name="javah">
    <mkdir dir="javah" />

    <javah classpath="bin" destdir="javah">
        <!-- list classes here -->
        <class name="com.example.MyClass" />
    </javah>
</project>

您可以在 Ant 脚本中获得更复杂的内容,但以上内容就足够了。

于 2013-07-25T16:24:01.737 回答
2

我曾经使用命令行来完成它。

  • 转到源文件目录。

  • javac filename.java生成filename.class文件。

  • javah filename生成filename.h文件。

您可以参考javacjavah以获得更多帮助。

于 2013-07-25T14:14:46.943 回答
0

JDK 中的这个实用程序怎么样?爪哇

于 2013-07-25T14:14:39.027 回答