我为verilog.v文件编写了逻辑门模拟器和netlist解析器。现在我想用SAT模块做一些等价的检查。
目前我使用Sat4J,但我想使用minisat2进行检查。我安装了minisat,可以通过键入以下命令从控制台运行它:
minisat_static cnf.file我用于启动/执行的Java代码是,对于ls、ps之类的简单说明,更少.它运行得很好,但是如果我使用minisat_static <path-to-file>,它就不会
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:
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有人能帮我吗?
发布于 2013-12-11 23:33:57
尝试将通向minisat_static的完整路径放在命令中。
https://stackoverflow.com/questions/20531989
复制相似问题