You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

编译MATLAB脚本后mfilename返回临时路径,如何获取可执行文件正确路径?

编译后Matlab程序获取正确路径的替代方案

当Matlab脚本/函数被编译为EXE、DLL或.NET程序集后,mfilename会返回MCR临时缓存路径,无法用于定位部署目录下的文件,可通过以下函数获取实际运行路径:

独立可执行文件(EXE)

使用system_dependent('getexepath'),直接返回当前运行的EXE文件的完整路径:

exeFullPath = system_dependent('getexepath');
% 提取EXE所在文件夹路径
deployFolder = fileparts(exeFullPath);

DLL或.NET程序集

使用system_dependent('getmodulefilename'),获取当前模块(DLL/程序集)的实际路径:

moduleFullPath = system_dependent('getmodulefilename');
deployFolder = fileparts(moduleFullPath);

补充说明

编译后的程序会被MCR解压到临时缓存目录运行,mfilename指向的是这个临时目录中的解压文件,而上述函数从系统层面直接获取可执行模块的部署路径,能准确找到你放置程序的目录,便于读取相对路径下的配置、资源文件。

内容的提问来源于stack exchange,提问作者weirdgyn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 07:15:53