0

给定一个类,例如:

class Position {
   float   x;
   float   y;

   public static native long instance();
   public static native float getX(long ptr);
   public static native float getY(long ptr);
   public static native long delete(long ptr);
}

在生成本机头文件时,我希望将与类的字段对应的结构定义包含在头文件中。就像是:

struct Position {
   float x;
   float y;
}

运行命令

javac -classpath bin -d . -h jni src/Position.java

使用 Java 11 或命令

javah src/Position

Java 8 不会生成结构。

我发现 javah文档中描述的所需行为(不确定它们当前的有效性)说明The .h file contains a struct definition whose layout parallels the layout of the corresponding class.

我想知道是否有可能用javac -h. 如果没有,那是否有可能?如果有,改变的原因是什么?此外,我有什么选择?

4

0 回答 0