❶ MATLAB GUI多个m文件和fig如何生成exe文件
方法一:
已有gui.m文件和gui.fig文件
1 在matlab的command窗口中输入
mcc -B sgl GUI.m
2.将上步生成的文件包括*m 文件和*.fig文件一起考到待运行的机器,此时仍需matlab所必需的动态连接库。
3. 将 <matlab path >/extern/lib/win32/mglinstallar.exel拷贝到到待运行机器上
4.在机器上先运行mglinstallar.exe, 然后选择解压目录,将在将在指定目录下解压缩出bin和toolbox两个子目录,
其中在binwin32目录下就是数学库和图形库脱离MATLAB运行所需的所有动态连接库,共
有37个。可以将这些.dll考入system32, 也可以直接放在应用程序目录下。
而toolbox目录则必须与应用程序同一目录。
方法二:
matlab编程很方便,强大的矩阵运算功能,很多好用的工具箱,但是一般程序都要在matlab环境中运行,能否脱离这个环境打包发布,matlab也提供了这样的工具。
1. 转化为c/c++程序并编译为.exe
先验证mcc是否可用,用matlab中的example验证即可。
建议不用matlab默认的lcc 编译器(可能有问题),可使用VC6编译器(按默认路径安装)。
由于带有界面,需要图像库支持,编译时应使用命令: mcc -B sglcpp pressure
编译生成若干c/c++源码,以及.exe文件、bin目录中figure菜单条/工具条文件(.fig)等
程序发布需要.exe、bin、.fig。
2. 在未装matlab的电脑上运行程序需要数学运行时库、图像运行时库以及用到的工具箱mex文件。
前两者已经在.exe压缩包中,将其解压,并在环境变量path中添加解压到的路径。
另外若程序中还用到其他工具箱的东西,那么需要将此工具箱中需要的mex文件也一并放在解压到的路径,子文件夹位置与matlab中的位置相同。
3. 在确保.exe程序可以运行的情况下 可以用setup factory打包发布。
❷ 怎样用gcc 一次性编译多个objective c文件啊
你好!
gcc
-oexe
-O0
-g3
-Wall
a.cpp
b.cpp
c.cpp
...,不过我还是建议吃用cmake这种跨平台自动化编译工具。很方便的!
如果对你有帮助,望采纳。
❸ matlab中怎么同时运行多个M文件,这些文件怎么相互调用
function SIN=drawSin(x)%放在第一个m文件中
SIN=sin(x);
plot(x,y,'g*');
function COS=drawCos(x)%放在第二个m文件中
COS=sin(x);
plot(x,y,'r*');
function Main()%放在第三个m文件中,drawSin,drawCos是子程序
x=-pi:0.1:pi;
drawSin(x)
drawCos(x)
❹ matlab多个M文件怎么连起来一起仿真
可以像C语言一样,把每个M文件中的代码写成是一个函数vfunction ans = f1()、function ans = f2()、function ans = f3()....
然后在另一个M文件中依次执行这些函数
❺ matlab中的多个m文件怎么转化成exe文件
+文件。
命令的格式为:
mcc[-option]fun[fun2...][mexfile1...][mlifile...]
此函数的作用是将matlab程序fun.m转化为c程序fun.c或者c++程序fun.cpp
转化后的文件默认在当前目录中。
若M文件多于一个,那么每个文件对应转化相应的c和c++文件
若源文件包含c文件,则将它们同新生成的c文件一起编译。
一些有用的option参数解释如下:
————————————————————————————————————
c 转化为c语言文件但是不生成mex文件或者独立应用程序
d<directory> 指定生成的文件目录
G/g 进入调试状态
h 编译帮助函数,所以的m文件都将编译到mex文件或者独立应用程序
L《option》 指定目标语言为option,其中c,cpp,p分别代表c语言,c++,matlab语言
m 指定创建独立c语言应用程序的宏,作用等于‘-t-W main -L C-h-T link:exe libmmdile.mlib’
M"<string>" 向MBLID或者mex教本传递string中包含的信息
o<outputfilename> 指定输出文件名
O<optimization> 指定优化参数
p 指定创建独立c++语言应用程序的宏 作用等于-t-W main -L Cpp-h-T link:exe libmmdile.mlib’
v 详细显示编译步骤
x 指定创建独立mex文件的宏,作用等于-t-W main -L C-T link:exe libmmdile.mlib’
S 转化为simuink的s函数
————————————————————————————————————
————————————————————————————————————
eg
现有m文件main.m mrank.m,主函数main中调用了子函数mrank
main.m
function main
r=mrank(5)
mrank.m
function r=mrank(n)
r=zeros(n,1);
for k=1:n
r(k)=rank(magic(k));
end
在matlab环境下执行主程序可以看到结果
》》main
r=
1
2
3
3
5
现在要把他们转化为c和cpp程序
在matlab工作窗口中输入下面命令
》》mcc-mc main mrank
可以得到下面个文件:
main.c
main.h
main-main.c
mrank.c
mrank.h
在matlab中输入下面命令
mcc -lcpp main mrank
可以得到下面5个文件
main.cpp
main.hpp
main-main.cpp
mrank.cpp
mrank.hpp
有了这些程序以后,就可以在其他c,c++程序中方便调用了
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
创建独立可执行程序
方法1:编译m文件为可执行程序
mcc -m main mrank
or
mcc -p main mrank
方法2:将编译的c c++转化为可执行程序
mbuild main.c main_main.c mrank.c
or
mbuild main.cpp main_main.cpp mrank.cpp
❻ linux下怎么编译matlab m文件
安装matlab_linux,linux下matlab的下载以及安装的参考连接,http://bbs.feng.com/read-htm-tid-6280022.html。
启动matlab,在matlab命令行上设置编译器,使用命令如下:
mex -setup
启动编译工具,deploytool,命令如下,安装图形界面添加需要编译的文件,并开始编译,可以编译成可执行文件或者动态链接库。若希望直接执行,编译成动可执行文件即可,若和其他语言混编,可以做成动态链接库,可以根据需要在图形界面上进行配置。本实验是做成一个可执行文件。
deploytool
假设应用程序名称为,Test,这编译完成后会生成一个Test文件夹,我们需要的可执行文件就在Test/distrib目录下。此时distrib 目录下面有两个文件,一个是run_Test.sh脚本文件和Test可执行文件。此时执行run_Test.sh文件,并不能执行,因为在Linux下,默认不会安装MCR,需要手动安装,MCR所在的路径为:matlab按照路径/toolbox/compiler/deploy/glnx86。安装完MCR后,执行如下命令,即可执行编译生成的Test文件。
run_Test.sh MCR_Install_Dir
若不想使用run_Test.sh脚本,直接运行Test文件,只需要设置两个环境变量即可,分别是:
export XAPPLRESDIR=/opt/matlab2009b/X11/app-defaults
LD_LIBRARY_PATH=/opt/matlab2009b/runtime/glnx86:/opt/matlab2009b/bin/glnx86:/opt/matlab2009b/sys/os/glnx86:/opt/matlab2009b/sys/java/jre/glnx86/jre/lib/i386/native_threads:/opt/matlab2009b/sys/java/jre/glnx86/jre/lib/i386/server:/opt/matlab2009b/sys/java/jre/glnx86/jre/lib/i386/client:/opt/matlab2009b/sys/java/jre/glnx86/jre/lib/i386
其中,/opt/matlab2009b,为matlab的安装路径,此时可以直接运行,Test文件了。
❼ 怎么在MATLAB中实现函数的调用我写了几个*.m文件,怎么才能整合到一起呢谢谢!!!
写函数你看看帮助吧。
一进入新的函数,workspace就会变换,所以所用到的变量都要做为参数传进来。
比较麻烦。
你就在一个m文件里,直接写其它m文件的文件名就调用了,workspace不变,最方便了