2012-07-08 124 views

回答

0

您可以使用-a选项来编译其他文件。

举例来说,使用这个命令,你就可以从独立应用程序调用任何.m文件在当前目录:

mcc -m myscript.m -a *.m 
+0

我可以不用编译吗?例如我可以像这样运行隐含文件:“!filename”,但我找不到一个方法来给这个命令输入输入。我想要做的是: T = FileNameInputFromUser(M文件) !T – 2012-07-08 10:08:37

+0

我不明白你在说什么....如果你喜欢我上面说的那样,你可以给任何脚本名称作为输入并从独立应用程序启动它。如果您想要启动的脚本在编译时不存在,或者未使用-a添加,则无法从独立应用程序执行它。 – Oli 2012-07-08 11:34:09

+0

问题是添加了新的脚本,并且我不会每次编译整个应用程序。 – 2012-07-08 12:41:06

0

这听起来像你正在寻找的SYSTEM功能。可以将任何变量传递它作为一个字符串:

s = 'ls'; % use 'ls' for Mac/Unix, 'dir' for Windows 
[status, result] = system(s); 

这里status是OS状态代码(0表示程序退出没有错误),以及result是该程序的输出:

>> status 

status = 

    0 

>> result 

result = 



total 928 
-rw-r--r-- 1 stew stew  0 Jul 24 2009 PROJECT_BASE 
drwxr-xr-x 48 stew stew 1632 Mar 17 2011 analysis 
-rw-r--r-- 1 stew stew 1944 Oct 4 2010 diff1 
drwxr-xr-x 29 stew stew  986 Sep 24 2011 matlab 
drwxr-xr-x 11 stew stew  374 Aug 5 2009 matlab_old 
-rw-r--r-- 1 stew stew 62525 Jul 6 2010 nms.mat 
-rw-r--r-- 1 stew stew 111423 Jul 7 2010 nms1.mat 
drwxr-xr-x 52 stew stew 1768 Mar 2 2010 p60_analysis 
drwxr-xr-x 4 stew stew  136 Mar 26 23:08 sims 
-rw-r--r-- 1 stew stew 2212 Jan 29 2010 startup.m 
-rw-r--r-- 1 stew stew 264635 Jun 13 18:22 test.bundle 
-rw-r--r-- 1 stew stew  128 Sep 24 2010 testlatt.m 
-rw-r--r-- 1 stew stew 4618 Jun 15 2011 tt-conn-ERRSTATE.mat 
-rw-r--r-- 1 stew stew 6221 Jun 13 17:50 
update_2012_June_13.bundle 
drwxr-xr-x 4 stew stew  136 Jun 13 18:28 videos 

注意:如果程序不是你的可执行文件路径,您可能需要指定其绝对路径:

​​