【问题标题】:Java, JNI and C++: How do I generate a header file from native method declarations?Java、JNI 和 C++:如何从本地方法声明生成头文件?
【发布时间】:2013-07-25 13:51:18
【问题描述】:
Java、JNI 和 C++:如何从本地方法声明生成头文件?
我有一个 Java 项目,它通过 JNI 与 C++ 代码进行通信。
现在的挑战是我需要添加新方法。我首先声明
java代码中的本地方法。现在我需要重新生成头文件
对于 JNI 方法。我在 Eclipse 中工作,不知道该怎么做。
【问题讨论】:
标签:
java
c++
java-native-interface
【解决方案1】:
这不是 Eclipse 内置的,但很容易做到:
- 转到
File » New... » XML File 在您的项目中创建一个 Ant 文件(代码如下)。
- 转到
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 脚本中获得更复杂的功能,但以上内容就足够了。