java - 将文件引用传递给 Scip 的 Jni 接口(interface)

标签 java java-native-interface scip

我通过 Jni 接口(interface)使用 Java api 中的 Scip 求解器。

我想将我的 lp 模型转储到文件中。

为此,原生API中有以下c方法

extern SCIP_RETCODE SCIPprintOrigProblem(
SCIP* scip, /**< SCIP data structure */
FILE* file, /**< output file (or NULL for standard output) */
const char* extension, /**< file format (or NULL for default CIP format)*/
SCIP_Bool genericnames /**< using generic variable and constraint names? */
);

该方法对应公共(public)抽象接口(interface)de.zib.jscip.nativ.NativeScip中的以下java方法

public abstract void printOrigProblem(long arg0, long arg1, java.lang.String arg2, boolean arg3) throws de.zib.jscip.nativ.NativeScipException;

当我为第二个参数给出零值时,该方法工作正常:线性公式按预期在标准输出中返回。

现在我想指定转储线性公式的文件。

所以我想在方法的第二个参数中传递一个引用。

native 方法需要一个 FILE*,而 java 方法需要一个 long。

问题是我必须传递什么作为第二个参数的值?

最佳答案

我想你应该使用与 SCIPwriteOrigProblem 相对应的函数 writeOrigProblem

关于java - 将文件引用传递给 Scip 的 Jni 接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37302301/

相关文章:

c# - 从 Java 调用 C# 代码?

java - 有什么方法可以释放通过 JNI/JNA 绑定(bind) C 代码而生成的 Java 代码中的内存?

python - ORTOOLS [python] 中的多个 MILP 解决方案

scip - 进行列生成时无双重界限

syntax-error - 如何索引ZIMPL中的子集集?

java - 如何验证下拉列表并将其保存在数据库中,并且代码不显示错误

java - "if(<an integer> & 2)"是什么意思?

java - 如何以编程方式使用 Maven 下载 jar

java - 猜谜游戏逻辑

java - 如何在 JAR 中捆绑原生库和 JNI 库?