【问题标题】: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 内置的,但很容易做到:

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

【讨论】:

    【解决方案2】:

    我以前是用命令行来做的。

    • 进入源文件目录。

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

    • javah filename生成filename.h文件。

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 2010-10-21
        • 1970-01-01
        • 2011-09-05
        • 2012-04-13
        • 1970-01-01
        • 2011-04-15
        • 1970-01-01
        • 2013-08-20
        • 2021-11-24
        相关资源
        最近更新 更多