MATLAB学习之旅(二)MATLAB M文件变exe文件.docx
文本预览下载声明
MATLAB学习之旅(二)MATLAB M文件变exe文件 - chenyujing1234的专栏 - 博客频道 - CSDN.NET
?转载请标明:
HYPERLINK /chenyujing1234 /chenyujing1234
?
参考文章:
HYPERLINK /s/blog_4f0fc2700100moj2.html /s/blog_4f0fc2700100moj2.html
?
一、生成独立可执行的程序(exe文件)
步骤
1、安装编译器。可有多种选择,matlab自带了一个LCC,推荐使用VC++6.0,我基于VS 2005实现。
MATLAB编译器
1、产生C源码,并进而生成MEX文件。这种MEX文件的优点是:一,当程序变量为实数,或向量化程度较低,或含有循环结构时,采用该法可提高运行速度;二,与ASCII码的M文件不同,MEX文件采用二进制代码生成,能更好地隐藏文件算法,使之免遭非法修改。
2、产生C或C++源码,以便与其他C/C++模块结合行成独立的外部应用程序。运行所产生的应用程序,无需MATLAB环境的支持,但是往往需要MATLAB提供的C/C++数学库;如果调用了MATLAB绘图指令,则还需要MATLAB提供的C/C++图形库
3、产生C?MEX的S函数,与Simulink配合使用,以提高S-函数的运行速度
4、产生C?共享库(动态链接库)或C++静态库,他们的使用无需MATLAB环境的支撑,但是需要MATLAB的数学库
局限性
1、无法编译脚本文件
2、不支持用户自定义对象
3、不支持eval,input,inline等函数
4、不支持的MATLAB的Java接口
?
2、设置编译器。在matlab命令行输入mbuild –setup以及mex –setup,选择安装的c编译器。
[cpp]
mbuild -setup Please choose your compiler for building standalone MATLAB applications: Would you like mbuild to locate installed compilers [y]/n? y Select a compiler: [1] Lcc C version 2.4 in D:\MATLAB701\sys\lcc [2] Microsoft Visual C/C++ version 7.0 in C:\Program Files\Microsoft Visual Studio .NET [3] Microsoft Visual C/C++ version 6.0 in D:\Microsoft Visual Studio [0] None Compiler: 2 Please verify your choices: Compiler: Microsoft Visual C/C++ 7.0 Location: C:\Program Files\Microsoft Visual Studio .NET Are these correct?([y]/n): y Try to update options file: C:\Documents and Settings\Administrator\Application Data\MathWorks\MATLAB\R14\compopts.bat From template: D:\MATLAB701\BIN\WIN32\mbuildopts\msvc70compp.bat Done . . . -- D:\MATLAB701\bin\win32\mwregsvr D:\MATLAB701\bin\win32\mwcomutil.dll DllRegisterServer in D:\MATLAB701\bin\win32\mwcomutil.dll succeeded -- D:\MATLAB701\bin\win32\mwregsvr D:\MATLAB701\bin\win32\mwcommgr.dll DllRegisterServer in D:\MATLAB701\bin\win32\mwcommgr.dll succeeded
?
?3、调用编译器。此处使用MATLAB下的一个GUI平台deploytool下完全实现。
在命令窗口输入deploytool即可看到。具体使用方法请Help。当然,也可以输入mcc -m filaname, filaname为要转成exe的m文件;
注:在以前的版本中,用编译命令m
显示全部