C++中的系统调用问题

System Call Issues in C++

本文关键字:问题 系统调用 C++      更新时间:2023-10-16

我正在编写的软件需要在main()的bginn对Weka进行系统调用。调用如下:

printf("Creating neural netowrk...n");
system("" java -cp "FILEPATHweka.jar" weka.classifiers.functions.MultilayerPerceptron -t "ML_data.arff" -d "MLPnn.model" ""); 
printf("Neural network created.n");

但是控制台弹出Creating neural network...,并且永远不会前进。

我试着将命令输入到窗口中,效果很好。我确信我所有的文件路径/引号都是正确的,因为我以前遇到过它们的问题,它给了我错误。现在看来,程序被卡住了。

需要注意的是,此系统调用以前也起过作用,并且保持不变。它周围的程序发生了巨大的变化,但正如我所说,这实际上是第一组被执行的指令。

有没有办法解决这个问题,或者有一个通用的解决方案?我对system调用的内部机制不太了解,不知道潜在的原因是什么(内存、硬件等)。

尝试:

system("java -cp "FILEPATH\weka.jar" weka.classifiers.functions.MultilayerPerceptron -t "ML_data.arff" -d "MLPnn.model" "); 

刚刚删除了第一个"\",并在FILEPATH后添加了一个额外的"\"。