Matlab生成P文件及exe文件方法

1.Matlab生成P文件方法:
P文件是对应M文件的一种预解析版本(preparsed version)。

因为当你第一次执行M文件时,Matlab需要将其解析(parse)一次(第一次执行后的已解析内容会放入内存作第二次执行时使用,即第二次执行时无需再解析),这无形中增加了执行时间。

所以我们就预先作解释,那么以后再使用该M文件时,便会直接执行对应的已解析版本,即P文件。

但又因为Matlab的解析速度非常快,一般不用自己作预解析。

只有当一些程序要调用到非常多的M文件时,如GUI 应用程序时,才会作预解析,以增加以后的调用速度。

P文件可以用来作保密代码之用,如果你给别人一个M文件,别人可以打开来看到你所有的代码和算法。

如果你的代码不想被别人看到,那可以给他P文件。

pcode函数也可以应用在M函数文件。

Matlab命令:pcode
pcode fun
pcode *.m
pcode fun1 fun2 ...
pcode... -inplace
Description
pcode fun obfuscates (i.e., shrouds) M-file fun.m for the purpose of protecting its proprietary source code. The encrypted M-code is written to P-file fun.pin the current directory. The original M-file can be anywhere on the search path.If the input file resides within a package and/or class directory, then the same package and class directories are applied to the output file. See example 2, below.pcode *.m creates P-files for all the M-files in the current directory.pcode fun1 fun2 ... creates P-files for the listed
functions.pcode... -inplace creates P-files in the same directory as the M-files. An error occurs if the files cannot be created.
2.Matlab编译生成exe可执行文件
1、首先要保证你的程序是函数型的,而不是脚本形式的。

如果是脚本形式的也不要紧,只需要在脚本文件第一行添加function []=name()即可。

2、新建一个Deployment project.(File->new->Deployment project)
3、在Build设计你的主函数入口。

Package设置打包的文件。

根据情况是否ADD MCR.(可使安装包中带有MCR文件,即安装matlab运行环境(这个可以保证安装的使用都不用安装matlab)).
4、点击Build编译完成即可。

上述编译完成后是一个压缩包,点击后自动解压安装,注意如果有其它一些图标文件时,需在上述过程中把文件加入进来一起打包。

合集下载

MATLAB程序封装成EXE文件

MATLAB程序封装成EXE文件

MATLAB程序封装成EXE文件1.设置编译器:首先需要配置自己的Matlab Compiler,Matlab Compiler的作用是将程序编译成为机器可以直接执行的程序。

配置Compiler的方法是在Matlab命令窗口输入:mbuild -setup,按提示选择matlab自带编译器LCC。

实验记录:>> mbuild -setup[1] Lcc-win32 C2.4.1 in D:\PROGRA~1\MATLAB\R2007a\sys\lcc[2] Microsoft Visual C++6.0 in C:\Program Files\Microsoft Visual Studio[0] NoneCompiler:1Please verify your choices:Compiler:Lcc-win32 C2.4.1Location:D:\PROGRA~1\MATLAB\R2007a\sys\lccAre these correct?([y]/n):yTryingtoupdateoptionsfile:From template:Done . . .-->"D:\PROGRA~1\MATLAB\R2007a\bin\win32\mwregsvrD:DllRegisterServer in D:-->"D:\PROGRA~1\MATLAB\R2007a\bin\win32\mwregsvrD:DllRegisterServer in D:>>说明:因为我的机器上原来装有Microsoft Visual C++6.0,所以会有两个编译器,会提示你选择一个,这里选择系统自带的,也就是“1”。

2、编译已经写好的m文件说明:mywavelet.m是我写的测试文件,内容如下:function mywaveletclear all;a=[100:900];b=sqrt(a);plot(a,b);在matlab环境中编译文件,方法是:mcc-m mywavelet。

利用Matlab自带工具箱生成Dll和EXE文件

利用Matlab自带工具箱生成Dll和EXE文件

利用Matlab自带工具箱生成Dll和EXE文件想到后期开发需要用到matlab与vb或者其他语言进行编程操作,边想着如何利用matlab强大的功能,而又脱离其软件本身进行开发。

利用DLL文件与VB混编进行开发是方法之一。

本以为是一个很简单构建过程,不过还是在不经意间浪费了两天时间。

回顾整个安装过程,主要还是没有对整体进行构建,没有借鉴前人的经验啊。

构建过程中遇到很多问题。

这里简单总结一下安装过程,顺便把Matlab生成dll文件,以及打包生成EXE文件的过程做一下介绍。

我的版本好为:MATLAB R2009a一、生成独立可执行的程序(dll and exe文件)步骤1、安装编译器。

可有多种选择,本机安装的是Microsoft Visual C++ 6.0(必须装);2、设置编译器。

在matlab命令行输入mbuild -setup,选择安装的编译器为Microsoft Visual C++ 6.0;这里需要的注意的是,编译器路径,编译文件路径的选择,我选择的都是与Microsoft Visual C++ 6.0相关的默认文件夹。

在看到Done字样后,开始在Matlab中设置编译参数。

3、输入deploytool命令(其他版本可能为matcom等),出现以下界面:4、设置相关的参数。

这里可以做很多操作,如图所示,最终结果可生成可供VB调用的dll文件。

启动deploytool后将主程序放到main function里,其他子程序放到other files里,如果有c程序,则放到c/c++ files里.加入你想要编译的m文件,(要加入到自己命名的主目录下,如果还有其他非m文件,放到other files里面)按下编译器就可以编译了.编译完成后会,就会在当前目录下生成这两个文件夹distrb src5、编译的最终结果如下图所示.另外,进行打包操作.我选择了Matlab Compiler编译出可直接运行的EXE文件。

Matlab生成P文件及exe文件方法

Matlab生成P文件及exe文件方法

1.Matla‎b生成P文‎件方法:P文件是对‎应M文件的‎一种预解析‎版本(prepa‎r sed versi‎o n)。

因为当你第‎一次执行M‎文件时,Matla‎b需要将其‎解析(parse‎)一次(第一次执行‎后的已解析‎内容会放入‎内存作第二‎次执行时使‎用,即第二次执‎行时无需再‎解析),这无形中增‎加了执行时‎间。

所以我们就‎预先作解释‎,那么以后再‎使用该M文‎件时,便会直接执‎行对应的已‎解析版本,即P文件。

但又因为M‎a tlab‎的解析速度‎非常快,一般不用自‎己作预解析‎。

只有当一些‎程序要调用‎到非常多的‎M文件时,如GUI应‎用程序时,才会作预解‎析,以增加以后‎的调用速度‎。

P文件可以‎用来作保密‎代码之用,如果你给别‎人一个M文‎件,别人可以打‎开来看到你‎所有的代码‎和算法。

如果你的代‎码不想被别‎人看到,那可以给他‎P文件。

pcode‎函数也可以‎应用在M函‎数文件。

Matla‎b命令:pcode‎pcode‎funpcode‎*.mpcode‎fun1 fun2 ...pcode‎... -inpla‎c eDescr‎i ptio‎npcode‎fun obfus‎c ates‎(i.e., shrou‎d s) M-file fun.m for the purpo‎s e of prote‎c ting‎its propr‎i etar‎y sourc‎e code. The encry‎p ted M-code is writt‎e n to P-file fun.pin the curre‎n t direc‎t ory. The origi‎n al M-file can be anywh‎e re on the searc‎h path.If the input‎file resid‎e s withi‎n a packa‎g e and/or class‎direc‎t ory, then the same packa‎g e and class‎direc‎t orie‎s are appli‎e d to the outpu‎t file. See examp‎l e 2, below‎.pcode‎*.m creat‎e s P-files‎for all the M-files‎in the curre‎n t direc‎t ory.pcode‎fun1 fun2 ... creat‎e s P-files‎for the liste‎dfunct‎i ons.pcode‎... -inpla‎c e creat‎e s P-files‎in the same direc‎t ory as the M-files‎.An error‎occur‎s if the files‎canno‎t be creat‎e d.2.Matla‎b编译生成‎e x e可执‎行文件1、首先要保证‎你的程序是‎函数型的,而不是脚本‎形式的。

matlab生成脱离matlab环境运行的文件方法

matlab生成脱离matlab环境运行的文件方法

如何将MATLAB程序编译成独立可执行的程序?如何将编译好的独立可执行程序发布在没有安装MATLAB的电脑上?下面将一步步实现:一、生成独立可执行的程序(exe文件)步骤1、安装编译器。

可有多种选择,matlab自带了一个LCC,推荐使用VC++6.0,我基于VS 2003实现。

2、设置编译器。

在matlab命令行输入mbuild –setup以及mex –setup,选择安装的c编译器。

3、调用编译器。

此处使用MATLAB下的一个GUI平台deploytool下完全实现。

在命令窗口输入deploytool即可看到。

具体使用方法请Help。

当然,也可以输入mcc -m filaname, filaname为要转成exe的m文件;注:在以前的版本中,用编译命令mcc -B sglcpp filaname;自2006的版本后,替换为mcc -mfilaname;4、安装<matlab path>\toolbox\compiler\deploy\win32目录下的MCRInstaller。

二、脱离matlab运行可执行程序MCR是由matlab的运行环境,占用不到300M的对于用不同matlab版本生成的exe文件,MCR版本也会有不同,因此,在程序打包时,最好将相应版本的MCR 一起打包。

MCR环境的设置文件存放目录如下:<matlab path> \toolbox\compiler\deploy\win32文件名为MCRInstaller.exe。

可将其拷贝到自己的文件夹中,(7.0以前的版本是mglinstaller.exe)。

在MATLAB里运行可执行程序的办法是在前面加一个!,比如:!picshow,后缀名可有可无。

在其它没有安装matlab的机器上运行exe文件前:首先安装matlab的运行环境。

在同一机器上可以并存不同版本的matlab环境(换句话说不同版本不兼容)。

Matlab.M文件编译成可执行文件.exe

Matlab.M文件编译成可执行文件.exe

Matlab.M文件编译成可执行文件.exeMatlab .M文件编译成可执行文件.exe转载:如何将MATLAB程序编译成独立可执行的程序?如何将编译好的独立可执行程序发布在没有安装MATLAB的电脑上?下面将一步步实现:一、生成独立可执行的程序(exe文件)步骤1、安装编译器。

可有多种选择,matlab自带了一个LCC,推荐使用VC++6.0,我基于VS 2003实现。

2、设置编译器。

在matlab命令行输入mbuild –setup以及mex –setup,选择安装的c编译器。

3、调用编译器。

此处使用MATLAB下的一个GUI平台deploytool下完全实现。

在命令窗口输入deploytool即可看到。

具体使用方法请Help。

当然,也可以输入mcc -m filaname, filaname为要转成exe的m文件;注:在以前的版本中,用编译命令mcc -B sglcpp filaname;自2006的版本后,替换为mcc -mfilaname;4、安装<matlab path>\toolbox\compiler\deploy\win32目录下的MCRInstaller。

二、脱离matlab运行可执行程序MCR是由matlab的运行环境,占用不到300M的对于用不同matlab版本生成的exe文件,MCR版本也会有不同,因此,在程序打包时,最好将相应版本的MCR一起打包。

MCR环境的设置文件存放目录如下:<matlab path> \toolbox\compiler\deploy\win32文件名为MCRInstaller.exe。

可将其拷贝到自己的文件夹中,(7.0以前的版本是mglinstaller.exe)。

在MATLAB里运行可执行程序的办法是在前面加一个!,比如:!picshow,后缀名可有可无。

在其它没有安装matlab的机器上运行exe文件前:首先安装matlab的运行环境。

matlab如何生成exe文件

matlab如何生成exe文件

一般我们在编写matlab中的gui时,我们都是生成一个fig文件和一个m文件的,但是如果我们要生成独立的应用程序,就是exe程序时,最后让它把两个文件合成一个文件,这样容易生成。

方法是在figure窗口中点击file下的export就行了,生成默认文件名为×_export.m文件。

(比如a_export.m) 然后我们需要安装matlab complier,如果你已经安装就直接运行mcc -m a_export.m 上面的命令的默认是a_export.m在当前的工作目录下面,如果不是就拷贝过来,或者加上绝对路径就行了。

安装matlab complier的过程如下:mbulid -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-win32 C 2.4.1 in D:/MATLAB/R2007b/sys/lcc [0] None Compiler: 如果你机器上有vc++之类的编译器的话,也会被列出来的,我电脑上没有,所以只有一个matlab自带的编译器,这里我们输入1,然后回车,出现如下:Please verify your choices: Compiler: Lcc-win32 C 2.4.1 Location: D:/MATLAB/R2007b/sys/lcc Are these correct?([y]/n): 然后输入y,表示确认就行了,出现安装成功信息,如下:Trying to update options file: C:/Documents and Settings/FreeFly/Application Data/MathWorks/MATLAB/R2007b/compopts.bat From D:/MATLAB/R2007b/bin/win32/mbuildopts/lccco template: mpp.bat Done . . . PS:如果想把生成的exe程序在其他没有matlab的机子上运行,需要安装MCRInstaller,可以在matlab的安装目录里面搜索到。

matlab函数exe文件生成

转载请标明:/chenyujing1234参考文章:/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]view plaincopy1.>> mbuild -setup2.Please choose your compiler for building standalone MATLAB applications:3.4.Would you like mbuild to locate installed compilers [y]/n? y5.6.Select a compiler:7.[1] Lcc C version 2.4 in D:\MATLAB701\sys\lcc8.[2] Microsoft Visual C/C++ version 7.0 in C:\Program Files\Microsoft VisualStudio .NET9.[3] Microsoft Visual C/C++ version 6.0 in D:\Microsoft Visual Studio10.11.[0] None12.piler: 214.15.Please verify your choices:16.piler: Microsoft Visual C/C++ 7.018.Location: C:\Program Files\Microsoft Visual Studio .NET19.20.Are these correct?([y]/n): y21.22.Try to update options file: C:\Documents and Settings\Administrator\Application Data\MathWorks\MATLAB\R14\compopts.bat23.From template: D:\MATLAB701\BIN\WIN32\mbuildopts\msvc70compp.bat24.25.Done . . .26.27.28.--> "D:\MATLAB701\bin\win32\mwregsvr D:\MATLAB701\bin\win32\mwcomutil.dll"29.30.DllRegisterServer in D:\MATLAB701\bin\win32\mwcomutil.dll succeeded31.32.--> "D:\MATLAB701\bin\win32\mwregsvr D:\MATLAB701\bin\win32\mwcommgr.dll"33.34.DllRegisterServer in D:\MATLAB701\bin\win32\mwcommgr.dll succeeded35.36.>>3、调用编译器。

matlab生成可独立运行的exe文件

一、生成独立可执行的程序(exe文件)步骤1、安装编译器。

可有多种选择,matlab自带了一个LCC,推荐使用VC++6.0,我用的是matlab自带的LCC;2、设置编译器。

在matlab命令行输入mbuild –setup以及mex -setup,选择安装的c编译器。

注意“-”之前的空格!3、调用编译器。

此处使用MATLAB下的一个GUI平台deploytool下完全实现。

在命令窗口输入deploytool即可看到。

具体使用方法请Help;当然,也可以输入mcc -m filaname,filaname为要转成exe的m文件;4、安装<matlab path>\toolbox\compiler\deploy\win32目录下的MCRInstaller。

二、脱离matlab运行可执行程序MCR是由matlab的运行环境,占用不到300M的对于用不同matlab版本生成的exe文件,MCR版本也会有不同,因此,在程序打包时,最好将相应版本的MCR一起打包。

MCR环境的设置文件存放目录如下:<matlab path> \toolbox\compiler\deploy\win32文件名为MCRInstaller.exe。

可将其拷贝到自己的文件夹中,(7.0以前的版本是mglinstaller.exe)。

在MATLAB里运行可执行程序的办法是在前面加一个“!”比如:!picshow,后缀名可有可无。

在其它没有安装matlab的机器上运行exe文件1、安装matlab的运行环境MCRInstaller。

在同一机器上可以并存不同版本的matlab环境(换句话说不同版本不兼容)。

2、要将“MCRinstaller.exe安装目录\runtime\win32”这个路径添加到该计算机的环境变量中,通常是自动加载。

如果没有,也可手动安装,添加的方法是:右击“我的电脑”“属性”“高级”“环境变量”“添加”指定一个变量名,然后将上述路径复制到里面就可以了。

matlab生成exe应用程序

matlab生成exe应用程序通常编写的matlab程序只能在装有matlab的机械上执行,可是没有安装matlab的如何办呢那个能够利用matlab的自带工具-Deploy Tool。

Matlab的Deploy Tools 能够方便的将matlab工程编译成所支持的类型,例如一样的Windows应用程序,Matlab for .NET/COM ,Matlab for Java,Matlab for Excel 等。

其原理确实是先利用MCC 编译器依照你的m文件生成相应的c语言文件和数据文件,然后在挪用C/C++编译器编译成可执行文件或控件库。

1、安装编译器。

可有多种选择,matlab自带了一个LCC,推荐利用VC++,我基于VS 2020实现。

2、设置编译器。

在matlab命令行输入mbuild –setup和mex –setup,选择安装的c编译器。

3、挪用编译器。

此处利用MATLAB下的一个GUI平台deploytool下完全实现。

在命令窗口输入deploytool即可看到。

具体利用方式请Help。

固然,也能够输入mcc -m filaname,filaname为要转成exe的m文件;注:在以前的版本中,用编译命令mcc -B sglcpp filaname;自2006的版本后,替换为mcc -mfilaname;在Matlab 2007a 中Deploy Tool实际上是一个MCC的前端界面(用MCC的命令行参数一样能够完成编译工作)下面是用Deploy Tool来编matlab工程。

第一创建prj工程,从菜单中定位到“New”-》“Deployment Project” 然后会提示选择类型然后添加文件接着你就能够够编译了第一次编译会让你去选择C/C++编译器,运行mbuild -setup 以后matlab会自动搜索系统所安装的C/C++编译器,然后让你给出选择,matlab自带了LCC编译器,只是能够利用VC的编译器。

Matlab生成.exe可执行程序

Matlab⽣成.exe可执⾏程序
由于在教学过程中需要演⽰Matlab程序,⽽教学机⼜未安装Matlab程序,因此有必要将Matlab程序⽣成.exe可执⾏程序,便于直接执⾏。

在Matlab中提供了Complier,可直接使⽤。

(⼀)什么是MATLAB Compiler?
它能够将你的matlab程序转换为⾃包含(self-contained)的应⽤程序和组件,这样你就可以将程序发放给你的终端⽤户,⽽且终端⽤户⽆需安装
Matlab就可以运⾏这些程序。

Matlab Compiler能够⽣成的应⽤或者组件包括下⾯这⼏类:
1、独⽴的应⽤程序
2、C和C++共享库(动态链接库,在Windows平台上是DLL,在Linux平台下是.so⽂件)
3、Excel插件
4、COM 和.NET对象
(⼆)MATLAB Compiler的构建过程
1、分析依赖关系
2、代码⽣成
3、创建归档⽂件(archive)
4、编译
5、链接
(三)执⾏过程
1、在Matlab的Command窗⼝下,可通过“help mcc”命令查看帮助
2、⽣成可执⾏程序:“mcc -m ××.m”,即可在当前⽬录⽣成××.exe程序
在当前⽬录⽣成可执⾏⽂件:
双击即可运⾏!
3、⽣成动态链接库:“mcc -l ××.m”,即可⽣成动态链接库。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档