只运行编译后的MATLAB应用,还需要给每台电脑配开发许可吗?
应用使用者,不一定需要开发环境
一个算法工具已由研发做好,其他同事只需选择数据、点击运行、取得结果。这种场景下,不应先按接收电脑数量配置MATLAB开发许可,而应先问交付的究竟是什么。接收的是源脚本,还是通过MATLAB Compiler正规编译的独立应用,两者对应的运行路径不同。
MathWorks的Runtime支持说明明确:MATLAB Runtime可用于运行MATLAB Compiler编译的应用,不要求目标电脑具有MATLAB许可,也可以在未安装MATLAB的电脑上运行。这个结论有明确对象,不能扩大成“所有MATLAB工程都能免许可使用”。
把开发资源留给需要开发的人
先划清开发与使用的分工,能减少不必要的开发环境配置。需要修改算法、调试代码的工程师,仍按实际工作准备开发产品及许可;仅使用已编译应用的人员,则按应用交付要求准备运行环境。应用以后需要修改时,也应回到开发流程,不能要求运行端承担代码维护。
浮点许可优化管理软件可对已接入的开发许可资源开展统一管理、实时监控、历史分析和许可优化,帮助团队看清这些资源是否用在实际开发需求上。编译与部署由研发及部署人员负责;浮点的关联点是开发资源管理,不是替团队完成应用打包。
收到文件后,先分清交付形态
单看文件名或“能双击”并不足以决定运行条件。让交付方说明构建方式、目标平台和运行要求,比接收端反复试装更省事。
| 收到的MATLAB交付物 | 首先确认什么 | 运行准备的方向 |
|---|---|---|
| 需要编辑、执行的.m源脚本 | 入口、依赖产品及开发环境 | 不能用Runtime替代脚本开发环境 |
| Compiler编译的独立应用 | 构建版本、目标平台、安装说明 | 按要求准备匹配的MATLAB Runtime |
| 带安装程序的应用包 | 安装时如何获取Runtime | 按交付说明完成应用与运行环境安装 |
| 来源或构建方式不明的文件 | 由谁构建、怎样验收 | 先补齐交付信息,不直接作许可判断 |

这里讨论的是Compiler编译应用,不把其他部署产品、模型或第三方组件全部归到同一规则。应用依赖和适用分发条件,也应由交付方逐项说明。
Runtime要匹配,不能只追求装最新版
MathWorks的Runtime页面要求,选择与应用编译所用MATLAB发行版相匹配的Runtime;相关信息可从随应用提供的readme.txt中查找。交付方应写明版本、操作系统及安装方法,接收方据此准备,不要将“装了最新版本”当作兼容性证明。更新级别等细节,则按对应版本安装说明处理。
另一则MathWorks支持问答还区分了开发测试与部署使用:利用已有MATLAB安装中的运行库测试编译应用,属于有条件的开发工作流。不能因为某台开发机能直接运行,就推断接收电脑不必准备Runtime,或随意复制开发机环境。
建议先选一台目标电脑,按交付说明安装,用约定输入运行并检查输出,再推广到其他使用端。安装成功只是环境检查的一部分,应用结果仍由业务人员验收。

采购讨论,从人员角色开始
准备增加使用端时,可以先列出谁需要改代码、谁只运行固定应用,以及各应用的构建和运行要求。开发许可的需求应回到真实开发工作,而不是把每一台运行电脑都算成一个开发席位。
广州浮点信息科技有限公司可围绕已接入的MATLAB开发资源,协助团队梳理使用与优化方向。如需咨询,可先提供版本、许可方式及开发人员的使用场景,沟通浮点许可优化管理软件的适配范围。运行端按正规交付方案准备,开发端再用清楚的使用记录安排资源。
