主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

coder.dictionary.remove

从模型或 Simulink 数据字典中删除 Embedded Coder 字典

说明

remove(sourceName) 从您的模型中删除 Embedded Coder 字典定义,或从由 sourceName 标识的 Simulink® 数据字典中删除。当您从模型中删除 Embedded Coder 字典时,您会从已加载的包中删除自定义定义和定义。该模型仍然包含来自 SimulinkBuiltIn 包的定义的本地字典。当您从未带有定义的附加 Simulink 数据字典的模型中删除 Embedded Coder 字典时,剩余的本地字典将包含来自 Simulink 包的定义。当您从 Simulink 数据字典中删除 Embedded Coder 字典时,您将删除整个 Embedded Coder 字典,包括其包和定义。

使用此函数可以:

  • 从模型中删除 Embedded Coder 字典定义。

  • 在引用的 Simulink 数据字典的层次结构中,从数据字典中删除 Embedded Coder 字典。在引用字典的层次结构中,只有一个字典可以存储 Embedded Coder 字典。

要将代码生成定义从一个源迁移到另一个源(例如,从模型文件迁移到 Simulink 数据字典),请考虑使用 coder.dictionary.move

示例

示例

全部折叠

当您打开模型的 Embedded Coder 字典窗口(请参阅 Open the Embedded Coder Dictionary)或打开模型的代码透视图时,Simulink 会在模型文件中创建 Embedded Coder 字典。在此示例中,在示例模型 RollAxisAutopilot 的 Embedded Coder 字典中创建代码生成定义(存储类),然后从模型中删除 Embedded Coder 字典。

打开模型 RollAxisAutopilot 并使用 coder.Dictionary 对象表示 Embedded Coder 字典。使用此对象访问字典的存储类部分,并使用 coder.dictionary.Section 对象表示该部分。

openExample('RollAxisAutopilot')
coderDictionary = coder.dictionary.open('RollAxisAutopilot');
storageClassesSect = getSection(coderDictionary, 'StorageClasses');

在存储类部分添加名为 MyStorageClass 的存储类定义。存储类定义使用默认属性设置。

newEntry = addEntry(storageClassesSect,'MyStorageClass')
newEntry = 

  Entry with properties:

          Name: 'MyStorageClass'
    DataSource: 'RollAxisAutopilot'

在命令提示符下,从模型中删除 Embedded Coder 字典。

coder.dictionary.remove('RollAxisAutopilot')

现在,模型文件包含一个 Embedded Coder 字典,其中仅包含来自 Simulink 和 SimulinkBuiltIn 包的代码生成定义。

输入参数

全部折叠

目标模型文件或数据字典,指定为字符向量或字符串标量。

  • 必须加载模型(例如,通过使用 load_system)或打开。

    您不需要指定 .slx 文件扩展名。

  • 必须在模型资源管理器、当前文件夹或 MATLAB® 路径中打开字典。

    您必须指定 .sldd 文件扩展名。

示例: 'myLoadedModel'

示例: 'myDictionary.sldd'

数据类型: char

提示

要在引用其他数据字典的数据字典上使用 coder.dictionary.remove,您必须:

  1. 暂时删除对也包含代码生成定义的字典的引用。

  2. 在目标字典上使用 coder.dictionary.remove

  3. 恢复您删除的字典引用。

版本历史记录

在 R2018a 中推出

全部展开