我正在编写需要在main()
的开始时对Weka进行系统调用的软件。电话如下:
printf("Creating neural netowrk...\n");
system("\" java -cp \"FILEPATH\weka.jar\" weka.classifiers.functions.MultilayerPerceptron -t \"ML_data.arff\" -d \"MLPnn.model\" \"");
printf("Neural network created.\n");
但是控制台弹出Creating neural network...
并且永远不会前进。
我尝试将命令输入窗口本身,它运行正常。我很确定我的所有文件路径/引用都是正确的,因为我之前遇到过麻烦,它给了我错误。现在看来程序已经卡住了。
应该注意的是,此系统调用之前已经有效,并且保持不变。围绕它的程序已经发生了巨大的变化,但正如我所说的,这实际上是第一组被执行的指令。
有没有办法解决这个问题,或者解决问题的常用方法?我对system
调用的内部阴谋并不十分了解,并想知道可能是什么原因(内存,硬件等)。
答案 0 :(得分:1)
尝试:
system("java -cp \"FILEPATH\\weka.jar\" weka.classifiers.functions.MultilayerPerceptron -t \"ML_data.arff\" -d \"MLPnn.model\" ");
刚刚删除了第一个'\''并在FILEPATH之后添加了一个额外的'\'。