如何解决如何使用javac或javah命令在JNI头文件中生成结构定义?
给出一个类,例如:
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不会生成该结构。
我发现docs中描述的javah所需的行为(不确定它们当前的有效性)指出The .h file contains a struct definition whose layout parallels the layout of the corresponding class.
我想知道是否可以用javac -h
实现我上面描述的内容。如果不可能,那么,改变的原因是什么?此外,我还有什么选择?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。