J'ai rencontré un problème avec return jobject.Comment puis-je retourner un jobjob si j'ai un cours?
Je classe:
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;
};
};
et la fonction:
JNIEXPORT jobject JNICALL function(JNIEnv *env, jobject)
{
//some code
KeyPair keyPair;
keyPair.SetKeys(pub, priv);
return keyPair;//error
}
Comment puis-je retourner KeyPair comme jobjecct?
Bienvenue sur JNI. Le workflow consiste à définir une classe Java, marquer certaines méthodes comme natives, exécuter javac pour obtenir un fichier .class, exécuter javah pour obtenir un fichier .h, puis implémenter les fonctions dans un langage compatible basé sur le fichier .h. Vous pourriez trouver javap -s utile lors de l'appel de fonctions JNI. En outre, considérez SWiG et JNA comme des outils JNI qui effectuent le flux de travail dans la direction opposée. SWiG pourrait vous servir le mieux ici. –