0

这个问题已经在很多这样的帖子中被问到并得到了回答

但是我怎样才能直接从 c++ 调用呢?为此,我怎样才能获得 JNIEnv* 和 jobject ?这可能吗 ?

4

2 回答 2

1

为此JNIEnv,您可以编写JNI_OnLoad将在加载共享库期间调用的全局函数。该函数将JavaVM指针作为参数。使用它,您可以获得JNIEnv当前线程(如果JNIEnv以前没有,则创建新线程)。

至于在哪里获得 jobject - 如果这是您正在实例化的新对象,那么您使用JNIEnv::NewObject方法。否则,您需要将要在其上调用方法的对象从 java 端传递给 C/C++。

于 2012-06-13T06:07:41.293 回答
0

您需要阅读JNI 规范的调用部分

于 2012-06-13T21:58:17.287 回答