【发布时间】:2018-03-04 02:34:56
【问题描述】:
我遇到了返回作业的问题。
我有课:
class KeyPair {
std::vector<BYTE> _publicKey;
std::vector<BYTE> _privateKey;
public:
void SetKeys(std::vector<BYTE> publicKey, std::vector<BYTE> privateKey)
{
_publicKey = publicKey;
_privateKey = privateKey;
};
};
和功能:
JNIEXPORT jobject JNICALL function(JNIEnv *env, jobject)
{
//some code
KeyPair keyPair;
keyPair.SetKeys(pub, priv);
return keyPair;//error
}
如何将 keyPair 作为作业返回?
【问题讨论】:
-
欢迎来到 JNI。工作流程是定义一个Java类,将一些方法标记为native,运行javac得到一个.class文件,运行javah得到一个.h文件,然后在.h文件的基础上用兼容的语言实现功能。在调用 JNI 函数时,您可能会发现 javap -s 很有用。此外,将 SWiG 和 JNA 视为以相反方向执行工作流的 JNI 工具。 SWiG 可能会在这里为您提供最好的服务。
标签: java c++ java-native-interface