Java、JNI 和 C++:如何从 native 方法声明生成头文件?
我有一个 Java 项目,它通过 JNI 与 C++ 代码通信。 现在的挑战是我需要添加新方法。我首先声明 java代码中的本地方法。现在我需要重新生成头文件 对于 JNI 方法。我在 Eclipse 中工作,不知道该怎么做。
最佳答案
这不是 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 脚本中获得更复杂的东西,但以上就足够了。
关于Java、JNI 和 C++ : How do I generate a header file from native method declarations?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17859969/