2013-07-25 56 views
1

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

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

+1

您可以使用与jsdk一起分发的命令行工具javah。 http://docs.oracle.com/javase/7/docs/technotes/tools/solaris/javah.html – mkaes

回答

2

我以前用命令行来做。

  • 转到源文件目录。

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

  • javah filename生成filename.h文件。

你可以参考javacjavah更多的帮助。

3

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

  1. 转到File » New... » XML File创建项目中的Ant文件(下面的代码)。
  2. 转到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脚本中获得更多更复杂的内容,但以上就足够了。