找回密码
 注册
Simdroid-非首页
查看: 65|回复: 3

如何对带有全局变量的M文件打包?

[复制链接]
发表于 2010-3-12 21:12:12 | 显示全部楼层 |阅读模式 来自 北京海淀
如何把带有全局变量的M文件打包为EXE文件?

还有就是M文件打包成EXE后,运行速度是不是比原来直接运行要慢许多?
发表于 2010-3-13 16:00:52 | 显示全部楼层 来自 浙江杭州
Simdroid开发平台
参考FAQ H12 项,
M文件打包成EXE后,运行速度应该快一些
回复 不支持

使用道具 举报

 楼主| 发表于 2010-3-25 13:31:38 | 显示全部楼层 来自 北京海淀
为什么我找不到FAQ H12 项?
回复 不支持

使用道具 举报

发表于 2010-3-25 13:44:24 | 显示全部楼层 来自 浙江杭州
Q:如何发布MATLAB7.X编译后的程序?   
A:ZZ TAOHE的<深入浅出MATLAB7.X混合编程>

    无论编译后产生的是可执行文件,还是动态连接库,要使它们能够发布到别的没有安装MATLAB的计算机上使用,必须在目标计算机上安装MCR,不能只是简单地把编译后产生的文件复制到目标计算机上。
    可以利用MATLAB命令buildmcr来创建可以发布给最终用户的MCR安装文件。buildmcr的功能是创建一个包含MCR需要的所有文件的ZIP压缩文件。buildmcr有如下两种调用方式:

    zipfile = buildmcr
    zipfile = buildmcr(dirname)

    其中返回值zipfile是产生MCRInstaller.zip的完整路径名。在没有输入参数的情况下,buildmcr会把产生的
    MCRInstaller.zip保存到地址$MATLAB/toolbox/compiler/deploy/<arch>
    /MCRInstaller.zip。

    其中$MATLAB代表MATLAB的安装目录,<arch>代表不同的计算机架构。比如在Windows上,默认的
    MCRInstaller.zip的路径为$MATLAB\toolbox\compiler\deploy\win32\
    MCRInstaller.zip。

    相应地,在Linux上,默认的MCRInstaller.zip的路径为$MATLAB/toolbox/compiler/ deploy/glnx86/MCRInstaller.zip。
    也可以使用输入参数dirname来指定MCRInstaller.zip的保存目录。buildmcr('.')将把产生的MCRInstaller.zip保存到当前工作目录。
    一般来说,需要发布的文件有3个:

    (1)编译得到的可执行文件或者库函数。
    (2)CTF文件。
    (3)MCRInstaller.zip。

    在最终用户的计算机上,首先需要把MCRInstaller.zip解压,并把MCR中可执行文件所在目录加到系统路径上,然后就可以使用编译后的程序了。
    注意:MCR不支持在startup.m中使用addpath命令增加搜索路径。
    startup.m是一个可以让用户设置一些关于MATLAB运行的个性化设置。如果你在运行MATLAB编译器的计算机上使用startup.m来给
    MATLAB增加一些特别的搜索路径,那么发布的程序运行时会报错。必须让addpath命令只在非发布情况下才有效。利用isdeployed命令,在
    startup.m判断是否运行相关的命令:

    if ~isdeployed
                 addpath(…)
                 %其他一些命令
    endif

    另外,编译后发布的程序在运行时需要先把CTF解压。所以在运行这些程序时需要确保对CTF文件所在目录有写权利。否则,发布的程序在执行时会报错。如果编译后的程序以光盘的方式发布,那么程序必须先复制到硬盘的某个目录,然后才运行。
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-4-23 16:19 , Processed in 0.040646 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表