gpt4 book ai didi

java - 在 Java 和 C 之间传递数据

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:16:41 25 4
gpt4 key购买 nike

我有一个 C 结构。

struct data{
double value1[50];
double value2[50];
int count;
};

我想将数据从 java 映射到此 C 结构。如何使用 JNI 来实现?Java代码不会由我编写。 java程序员只是想知道他应该以哪种形式向我发送数据?他是否应该期待更多细节

我目前正在通过使用包含 2 列的 CSV 文件填充结构实例来测试我的代码。

我还想从我的 C 代码向 Java 应用程序返回 3 个 double 值。

最佳答案

如果你想在 java 端使用相同类型的“结构”,我会创建一个对应于该结构的类(以便 java 和 c 开发人员可以谈论同一件事):

class JavaData {
double value1[50];
double value2[50];
int count;
};

然后您需要在进入 JNI 时将值从/复制到 Java 世界。这是您如何操作的示例:

// get the class
jclass javaDataClass = env->FindClass("JavaData");

// get the field id
jfieldID countField = env->GetFieldID(javaDataClass, "count", "I");

// get the data from the field
cData.count = env->GetIntField(jData, countField);

... (the rest of the parameters)

关于java - 在 Java 和 C 之间传递数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4324819/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com