主要内容

isdeployed

确定代码是在部署模式下还是在 MATLAB 模式下运行

说明

如果 x = isdeployed 使用 MATLAB® Runtime 在部署模式下运行,则该函数会返回逻辑 1 (true);如果该函数在 MATLAB 会话中运行,则它会返回 0 (false)。

在部署模式下运行的应用程序由使用 MATLAB Compiler™ 打包为软件组件的 MATLAB 函数和数据的集合组成,这些软件组件使用 MATLAB Runtime 库在 MATLAB 会话之外运行。

示例

示例

全部折叠

您可以使用 which 函数或指定相对于 ctfroot 的文件位置来访问打包的应用程序中包含的文件。

extern_app.exe 等文件添加到 MATLAB Compiler 工程。

使用 isdeployed 检查代码是否在部署模式下运行。然后,使用 which 函数获取文件的路径。

if isdeployed
    locate_externapp = which(fullfile('extern_app.exe'));
end
which 函数会返回文件 extern_app.exe 的路径,只要它位于可部署存档中。

有关详细信息,请参阅在打包的应用程序中包含和访问文件

已部署应用程序的路径在编译时是固定的,并且无法更改。使用 isdeployed 可确保应用程序在部署后不会尝试使用路径修改函数,例如 addpath

if ~(ismcc || isdeployed)
    addpath(mypath);
end

在 R2024b 之前的版本中: 您无法使用 doc 函数从已部署应用程序打开帮助浏览器。请改为将帮助查询重定向到 MathWorks® 网站。

if ~isdeployed
    doc(mfile);
else 
   web('https://www.mathworks.com/support.html');
end

使用 isdeployed%#exclude pragma 来隐藏针对不可部署函数 edit 发出的编译时警告。

if ~isdeployed
    %#exclude edit
    edit('readme.txt');
end

该 pragma 会在编译期间将该函数从依赖关系分析中排除。

扩展功能

全部展开

版本历史记录

在 R2006a 之前推出