所以我有两段编译的matlab代码(在exe中)。我想要以下行为:
一个exe文件(exefile1)调用另一个,使用'system('exefile2')'。另一个文件(exefile2)运行并在完成其功能后,将控制权返回给调用文件(exefile1)。但由于某种原因,exefile2 并没有返回控制,而只是完成并返回到命令提示符。他们是实现我想要的方式吗?
所以我有两段编译的matlab代码(在exe中)。我想要以下行为:
一个exe文件(exefile1)调用另一个,使用'system('exefile2')'。另一个文件(exefile2)运行并在完成其功能后,将控制权返回给调用文件(exefile1)。但由于某种原因,exefile2 并没有返回控制,而只是完成并返回到命令提示符。他们是实现我想要的方式吗?
您没有在描述中提供很多细节,但是我尝试了以下方法,效果很好。
第一个脚本(hello.m):
try
disp('hello');
system('hi.exe');
disp('hello');
catch
fprintf('%s', exc.getReport('extended'))
end
第二个脚本(hi.m):
try
disp('hi')
catch
fprintf('%s', exc.getReport('extended'))
end
try-catch 在这里有点不必要,但在编译时它总是有帮助的。无论如何,基本思想是:
hello starts
hello prints hello
hello starts hi
hi prints hi and returns
hello prints hello again
end
我将这两个脚本编译为控制台应用程序并在命令提示符下运行它,它工作正常:
hello
hi
hello
所以我不确定你的具体问题是什么,但基本的想法很好......