0

所以我有两段编译的matlab代码(在exe中)。我想要以下行为:

一个exe文件(exefile1)调用另一个,使用'system('exefile2')'。另一个文件(exefile2)运行并在完成其功能后,将控制权返回给调用文件(exefile1)。但由于某种原因,exefile2 并没有返回控制,而只是完成并返回到命令提示符。他们是实现我想要的方式吗?

4

1 回答 1

0

您没有在描述中提供很多细节,但是我尝试了以下方法,效果很好。

第一个脚本(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

所以我不确定你的具体问题是什么,但基本的想法很好......

于 2012-10-10T02:21:31.717 回答