Java,JNI和C++:如何从本地方法声明生成头文件?Java,JNI和C++:如何从本地方法声明生成头文件?
我有Java项目,它通过JNI与C++代码进行通信。 现在的挑战是我需要添加新的方法。我首先在java代码中声明了 本地方法。现在我需要为JNI方法重新生成头文件 。我在Eclipse中工作,不知道如何做到这一点。
Java,JNI和C++:如何从本地方法声明生成头文件?Java,JNI和C++:如何从本地方法声明生成头文件?
我有Java项目,它通过JNI与C++代码进行通信。 现在的挑战是我需要添加新的方法。我首先在java代码中声明了 本地方法。现在我需要为JNI方法重新生成头文件 。我在Eclipse中工作,不知道如何做到这一点。
在JDK中该实用程序如何? javah
这不是内置到Eclipse,但它是很容易做到:
File » New... » XML File
创建项目中的Ant文件(下面的代码)。Project » Properties » Builders » New... » Ant Builder
将Ant文件添加为构建步骤。将刷新设置为“项目”,以便生成的文件显示在项目中。因为javah
读取已编译的class
文件,所以请务必在Java Builder步骤之后执行构建步骤。现在,无论何时更改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脚本中获得更多更复杂的内容,但以上就足够了。
您可以使用与jsdk一起分发的命令行工具javah。 http://docs.oracle.com/javase/7/docs/technotes/tools/solaris/javah.html – mkaes