我可以通過JNA對象進行初始化並在java內寫入內容嗎?JNA對象是通過引用還是通過java代碼中的值傳遞
- >是否有可能有一個方法來初始化結構的每個成員和其他方法來填充數組等等。
我發現谷歌沒有答案/也不https://jna.java.net/
我可以通過JNA對象進行初始化並在java內寫入內容嗎?JNA對象是通過引用還是通過java代碼中的值傳遞
- >是否有可能有一個方法來初始化結構的每個成員和其他方法來填充數組等等。
我發現谷歌沒有答案/也不https://jna.java.net/
可以同步本機內存爲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);
你能否提供一個簡單的例子來說明應該如何進行同步? 另外,如果我周圍的java中傳遞一個結構對象並更改值,我是否更改實際值或更改唯一的本地版本(因爲java通常工作) – gismo
你所說的 「JNA對象」 是什麼意思? JNA提供了操作原生函數和數據的工具。 – technomage
例如,結構對象,我傳遞,在java內部,相同的結構或我傳遞同一個結構的副本 - 「我操縱相同的對象,或者我創建一個新的內存位置的值的副本。 – gismo