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

Java、JNI和C++:如何从本机方法声明生成头文件?,java,c++,java-native-interface,Java,C++,Java Native Interface,Java、JNI和C++:如何从本机方法声明生成头文件 我有java项目,通过JNI与C++代码通信。 现在的挑战是我需要添加新的方法。我首先声明 java代码中的本机方法。现在我需要重新生成头文件 对于JNI方法。我在Eclipse中工作,不知道如何做到这一点。JDK中的这个实用程序怎么样? javah那么JDK中的这个实用程序呢? javah我过去常常使用命令行来完成它 转到源文件目录 javac filename.java生成filename.class文件 javah filename生

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

我有java项目,通过JNI与C++代码通信。 现在的挑战是我需要添加新的方法。我首先声明 java代码中的本机方法。现在我需要重新生成头文件
对于JNI方法。我在Eclipse中工作,不知道如何做到这一点。

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

那么JDK中的这个实用程序呢?
javah

我过去常常使用命令行来完成它

转到源文件目录

javac filename.java生成filename.class文件

javah filename生成filename.h文件


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

我以前使用命令行进行此操作

转到源文件目录

javac filename.java生成filename.class文件

javah filename生成filename.h文件


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

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

转到文件»新建。。。»XML文件,用于在项目中创建下面的Ant文件代码。 Go Project»Properties»Builders»新建。。。»Ant Builder将Ant文件添加为构建步骤。将“刷新”设置为“项目”,以便生成的文件显示在项目中。确保将构建步骤放在JavaBuilder步骤之后,因为javah读取已编译的类文件。 现在,无论何时更改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脚本中获得更复杂的内容,但以上内容已经足够了。

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

转到文件»新建。。。»XML文件,用于在项目中创建下面的Ant文件代码。 Go Project»Properties»Builders»新建。。。»Ant Builder将Ant文件添加为构建步骤。将“刷新”设置为“项目”,以便生成的文件显示在项目中。确保将构建步骤放在JavaBuilder步骤之后,因为javah读取已编译的类文件。 现在,无论何时更改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脚本中,您可以获得更为复杂的功能,但是上面的内容已经足够了。

您可以使用命令行工具javah,该工具随jsdk一起发布。您可以使用命令行工具javah,它与jsdk一起分发。