JNA对象是通过引用还是通过java代码中的值传递的

时间:2016-09-19 13:46:43

标签: java pass-by-reference jna

我可以传递JNA对象进行初始化和在java内部编写吗?

- >是否有可能有一个初始化结构的每个成员的方法和其他方法来填充数组等等。

我在谷歌/ https://jna.java.net/

上找不到答案

1 个答案:

答案 0 :(得分:0)

您可以将本机内存与Java对象同步,但不能将Java对象覆盖在本机内存上,并且不应直接将Java对象内存暴露给本机代码。 JNA所做的是将本机内存与Java对象相关联,并提供同步这两者的方法。

原始记忆:

Pointer memory = new Memory(128);
memory.setInt(0, 1234)

结构化数据:

MyStructure s = new MyStructure();
s.int_field = 1234;
s.write();

s = new MyStructure(native_pointer);
s.read();
System.out.println("Field: %s", s.int_field);