我有一个C ++进程,其工作是使用JNI调用我的一个Java类的main
方法。这个C ++进程有一个共享对象说libabc.so
。
我的Java进程正在被调用,正在完成预期的工作。
现在我想调用libabc.so
中存在的C ++本机函数。
我有两个问题:
在java代码中是否需要执行System.load("abc")
,因为我的java类实际上是从C ++进程调用的
如果我不使用它,我无法调用C ++函数,但我没有收到错误
如果我这样做,我的加载失败并调用std::terminate
,说明某些库已经加载。
任何信息都将不胜感激。