如何使用 JNI 将结构数组从 C++ dll 返回到 Java Applet
How can return structure array from a C++ dll to Java Applet using JNI?
我有一个C++的dll类。我想使用 JNI 方法将结构数组返回给 Java Applet。如何从 Java 访问它?
(结构数组包含不同类型的结构)
已经返回了一个字符串数组---
public native String[] fun();
JNIEXPORT jobjectArray JNICALL Java_fun(JNIEnv* pEnv, jobject Pobj)
{
}
但我不知道如何使用结构数组。
谁能告诉我。
您需要构建与 Java 对象相同的结构。将值从C++结构复制到 JNI 中的 Java 结构中。返回 Java 结构并将其用作普通 Java 对象。
《太阳在太阳》中有几个很好的代码示例: STrings and Arrays
尝试一下并告诉我们您的进度。
你可以使用JavaCPP,它为我们生成所有讨厌的C++JNI代码。然后我们只需要从 Java 调用 Pointer.position()
来导航原生结构数组。
相关文章:
- 如何安全地从 DLL 调用返回对象
- 是否可以跨 dll 边界返回常量引用/指向 std::vectors?
- 从非托管 C# DLL 返回列表/数组
- 如何使函数返回数组?用于制作在VB.NET中使用的DLL
- C++ 安全数组在从 c# COM dll 返回时具有无效数据
- C# 中的 C++ DLL 返回 -858993460
- C ++ DLL导入:函数调用返回错误的结果
- Java 调用 dll 字符串返回类型方法
- WinAPI - GetLastError 在通过 COM ATL DLL 调用时始终返回 0
- winAPI FindResource 仅在 DLL 中返回 NULL
- WScript.CreateObject 在调用 C++ COM dll 函数时返回空
- LoadLibrary('user32.dll') 返回 14007
- DLL – 在 DLL 初始化时填充的静态向量,向客户端程序返回零大小
- 从 dll 返回多个字符串
- GetFullPathNameA 不返回 DLL 的路径
- 为什么 VS C++链接器返回具有混合 DLL 转发的"LNK2001: unresolved external symbol"?
- 如何使用返回矢量C++ DLL
- 如何返回包含来自com dll的多个空字符的BSTR
- 如何从C DLL返回的指针中获得VBA中的整个矩阵
- 如何使用Java代码中使用和返回.dll对象的函数