C++ ファイル用の JNI を作成するための swig インターフェイス ファイルを作成しました。しかし、私のC++ファイルの中には、 (void*) のような引数としてポインタを受け入れる関数が含まれており、C++ BOOLとSwigはそれをSWIGTYPE_p_int32_tのような型に変換します java からそのような種類のデータ型を渡すには?
たとえば、関数の実際のプロトタイプの 1 つは、C++ では次のようになります。
DLL_API void DLL_CALLCONV FreeImage_Initialise(BOOL load_local_plugins_only FI_DEFAULT(FALSE));
swigでJavaファイルに変換されます
public static void FreeImage_Initialise(SWIGTYPE_p_int32_t load_local_plugins_only)
java からそのような値を渡す方法は?
関数にそのような種類の引数を含む多くのクラスがあります。可能な限り単純なハンドル データ型のバルク ファイルにソリューションを適用できる方法はありますか。
それを行う1つの方法はヘルパー関数を作成することだと読みましたが、多くのc++クラスがあり、すべての関数に対してポインターを返すためのヘルパー関数を作成する方法がないため、それを実行することはできません。
可能であれば、他の方法を提案してください。