gpt4 book ai didi

java - 使用 JNI 将 Scala 对象返回给 C++

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:15:18 24 4
gpt4 key购买 nike

<分区>

vm_args.version = JNI_VERSION_1_2;
vm_args.nOptions = 1;
vm_args.options = options;
vm_args.ignoreUnrecognized = JNI_FALSE;
jint rc = JNI_CreateJavaVM(&jvm, (void**)&env, &vm_args);
delete options;
if (rc != JNI_OK) {
cin.get();
exit(EXIT_FAILURE);
}

cout << "JVM load succeeded: Version ";
jint ver = env->GetVersion();
cout << (((int) ver >> 16) & 0x0f) << "." << ((int)ver & 0x0f) << endl;
jclass thisClass = env->FindClass("Test");
cout << thisClass << endl;


jmethodID constructor = env->GetMethodID(thisClass, "<init>", "()V");
cout << constructor << endl;

jobject testObject = env->NewObject(thisClass, constructor);

jmethodID getExpression = env->GetMethodID(thisClass, "getExpression", "()Lscala/collection/mutable/ArrayOps;");

我正在尝试使用 JNI 从 C++ 调用 Scala 函数,将 Scala 对象返回给 C++,然后(手动)将返回的对象转换为我可以传递给 native 方法的 C++ 对象。

我知道在通过 JNI 从 C++ 访问 Scala 时会遇到一些小问题,但我希望能就如何执行此操作提供一些指示。

非常感谢。

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