java(android)コードからネイティブc ++メソッドを呼び出し、java関数をパラメーターとして渡すので、関数ポインターをc ++コードに保存し、ネイティブコードからアクティブ化できます。
匿名クラスを使用してJavaで関数ポインターを実装することを選択し、次のようにJavaからネイティブ関数を呼び出します。
interface FunctionPtrHelper {
bool function(String param);
}
NativeFunc(param1,param2,new FunctionPtrHelper() {
public bool myFunction(String param) {
//body of my function
}});
swig / jniに3番目のパラメーター(実際にはクラス)を認識させ、それをc ++の関数ポインター(「myFunction」を含む)に変換するにはどうすればよいですか?
それが不可能な場合、JavaからC ++に関数ポインタを渡す別の方法はありますか?