[英]How to pass a large structure through JNI from C to JAVA
是否可以通过JNI将大型结构从C传递到Java?
有人可以给我可能的解决方案吗?
在Java类中声明一个指向struct的指针,如下所示:
protected long ptrToX;
接下来,进行设置:
(*env)->GetFieldID(...)
获取字段ID (*env)->GetLongField(...)
获取指针 (*env)->SetLongField(...)
设置指针 要获得它,只需按照上面提到的前两个步骤。
始终记住要包括一个终结器,该终结器将在对象被垃圾回收时负责释放指针。 另外,如果您不想引起使用终结器引起的性能下降,只需提供一个终止指针的terminate()方法即可。
最好您切换到JNA,这是从C到JAVA编程的便捷方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.