我创建了 swig 接口文件来为我的 C++ 文件创建 JNI。但是我的一些 C++ 文件包括接受指针作为参数的函数,如 (void*) 、 C++ BOOL 和 Swig 将其转换为SWIGTYPE_p_int32_t之类的类型 如何从 java 传递这种数据类型?
例如,函数的实际原型之一如下 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 传递这样的值?
我有许多类在函数中包含此类参数。有什么办法可以让我将解决方案应用于批量文件以尽可能简单地处理数据类型。
我已经阅读了一种方法是创建辅助函数,但我不能这样做,因为我有很多 c++ 类,并且为每个函数创建用于返回指针的辅助函数不是可行的方法。
如果可能,请建议任何其他方式。