首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Runtime.exec() + Minisat

Runtime.exec() + Minisat
EN

Stack Overflow用户
提问于 2013-12-11 23:17:38
回答 1查看 426关注 0票数 0

我为verilog.v文件编写了逻辑门模拟器和netlist解析器。现在我想用SAT模块做一些等价的检查。

目前我使用Sat4J,但我想使用minisat2进行检查。我安装了minisat,可以通过键入以下命令从控制台运行它:

代码语言:javascript
复制
minisat_static cnf.file

我用于启动/执行的Java代码是,对于ls、ps之类的简单说明,更少.它运行得很好,但是如果我使用minisat_static <path-to-file>,它就不会

代码语言:javascript
复制
    printLinuxCommand("minisat_static bin/resources/cnf");
}

static void printLinuxCommand(String command) throws Exception {
    System.out.println("Linux command: " + command);
    String line;
    Process process = Runtime.getRuntime().exec(command);
    Reader r = new InputStreamReader(process.getInputStream());
    BufferedReader in = new BufferedReader(r);
    while ((line = in.readLine()) != null)
        System.out.println(line);
    in.close();
}

错误-msg:

代码语言:javascript
复制
Exception in thread "main" java.io.IOException: Cannot run program "minisat_static": error=2, Datei oder Verzeichnis nicht gefunden
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1041)
    at java.lang.Runtime.exec(Runtime.java:617)
    at java.lang.Runtime.exec(Runtime.java:450)
    at java.lang.Runtime.exec(Runtime.java:347)
    at circuit.circuit.printLinuxCommand(circuit.java:76)
    at circuit.circuit.main(circuit.java:70)
Caused by: java.io.IOException: error=2, Datei oder Verzeichnis nicht gefunden
    at java.lang.UNIXProcess.forkAndExec(Native Method)
    at java.lang.UNIXProcess.<init>(UNIXProcess.java:135)
    at java.lang.ProcessImpl.start(ProcessImpl.java:130)
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1022)
    ... 5 more

有人能帮我吗?

EN

回答 1

Stack Overflow用户

发布于 2013-12-11 23:33:57

尝试将通向minisat_static的完整路径放在命令中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20531989

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档