问题描述
- (JNI)c++与java的交互
-
我要写一个c++的应用程序,但它要调用java的函数,所以用到了JNI,但有一个疑问:java 里面有一个回调,我想c++里面传递一个function给java的回调,求问怎么实现呢??
解决方案
一. C++ 调用 Java
二. Java 调用 C++......
答案就在这里:C++与java通过jni交互
解决方案二:
jni主要作用是协调转换变量类型,java中的方法若需要底层实现需要定义为native,然后用c或c++来实现。
很明显,java作为高级语言完成功能依赖的就是c类语言支持,你需要java实现的功能,c++自身肯定可以实现,况且你见过汇编需要回调c来实现功能么,有这想法不如找一下java功能的底层实现,直接拷贝代码,这样方便,并且效率也不会有折扣。
解决方案三:
jni主要作用是协调转换变量类型,java中的方法若需要底层实现需要定义为native,然后用c或c++来实现。
很明显,java作为高级语言完成功能依赖的就是c类语言支持,你需要java实现的功能,c++自身肯定可以实现,况且你见过汇编需要回调c来实现功能么,有这想法不如找一下java功能的底层实现,直接拷贝代码,这样方便,并且效率也不会有折扣。
时间: 2024-11-18 08:16:07