主要内容

目标语言编译器

使用目标语言编译器定义块代码生成行为

目标语言编译器(TLC)是代码生成器的一个组成部分。使用TLC定制生成的代码。通过自定义,您可以生成特定于平台的代码,并在性能、代码大小或与现有方法的兼容性方面合并您自己的算法更改。

使用目标语言编译器,你可以:

  • 自定义系统目标文件指定的选项集。

  • 内联S-Function块的代码。

  • 生成额外的或不同类型的文件。

要了解TLC的基本知识,请看目标语言编译器基础

主题

开始

目标语言编译器基础

使用目标语言编译器生成特定于平台的代码,并在性能、代码大小或与希望维护的现有方法的兼容性方面合并您自己的算法更改。

为什么使用目标语言编译器?

使用目标语言编译器自定义系统目标文件指定的选项集,内联S-Function块的代码,或生成其他或不同类型的文件。

内联s函数的优点

确定何时、如何以及为什么内联s函数。

代码架构

了解块对象捕获什么信息。

目标语言编译过程

了解目标语言编译器如何解释模型.rtw文件。

内联S-Functions

应用内联s函数的技术。

目标语言编译器教程

关于TLC教程的建议

TLC教程描述了为什么以及如何使用TLC。

用TLC读取记录文件

了解TLC如何访问记录文件并解释其内容。

内联s -函数与TLC

TLC内联s -函数,导致更快、优化的代码。

探索变量名和循环滚动

理解TLC如何以及何时输出循环和变量名。

调试TLC代码

调用TLC调试器命令、设置断点并跟踪代码执行。

帮助调试的TLC代码覆盖

使用TLC覆盖统计信息来帮助识别TLC代码中的错误。

用TLC包装用户代码

使用TLC将遗留代码和专有代码集成到已编译的模型中。

代码生成架构

构建过程

创建和使用目标语言文件。

配置薄层色谱

通过将配置数据传递给set_param命令。

用TLC配置生成的代码

使用目标语言编译器以特定的方式生成源代码或给出代码特定的特征。

代码生成的概念

了解TLC变量和文件和记录的处理。

薄层色谱文件

了解系统和块目标文件的角色和种类。

用TLC处理数据

TLC库函数可以将数据转换为数据结构。

model.rtwFile

model.rtwFile and Scopes

模型.rtw文件是由构建过程生成供目标语言编译器使用的模型的部分表示。

模型中的数据对象信息。rtw文件

中的数据对象的访问信息模型.rtw文件。

模型中的数据引用。rtw文件

金宝app®在代码生成期间使用数据引用优化数据访问。

使用访问模型的库函数的例外

中的块的访问参数设置模型.rtw记录。

在生成的代码中使用全局数据映射访问内存

生成TLC全局数据地图记录model.rtw文件。

指令和内置函数

目标语言编译器指令

学习指令、内置函数、信号和参数值、表达式和注释的语法和格式。

命令行参数

指定TLC调用参数、文件名和搜索路径。

s函数内联

内联S-Functions

编写用于代码生成的s -函数。

内联C MEX s -函数

处理C MEX s -函数的调用。

TLC编码惯例

遵循案例约定并使用库函数使TLC代码更健壮。

块目标文件方法

使用多态块函数结合目标语言编译器库函数来编写块目标文件。

循环滚动

使用%卷指示代码生成器是否展开循环。

TLC库参考

目标语言编译器库函数概述

使用库函数访问块记录中的许多参数名称/参数值对。

目标语言编译器函数约定

应用正确的TLC函数语法和约定。

输入信号的函数

这些TLC函数处理和报告输入信号。

输出信号的函数

这些TLC函数处理并报告输出信号。

参数的函数

这些函数处理模型参数。

块状态和功向量函数

这些函数处理存储和状态。

块兼容性功能

这些TLC函数用于指定与代码生成特性的块兼容性。

块路径和错误报告功能

这些函数导航路径并处理错误条件。

代码配置功能

这些函数用于裁剪代码元素和注释。

样品时间函数

这些函数用于处理连续时间和离散时间。

各种各样的功能

这些功能在其他地方没有分类。

先进的功能

这些功能通常只在特殊情况下需要。

调试和错误处理

使用TLC调试器

使用TLC调试器逐行执行TLC代码,分析和/或修改指定块范围内的变量,查看TLC调用栈。

薄层色谱的报道

确定执行哪些TLC语句。

薄层色谱分析器

测量每个TLC函数的执行时间。

薄层色谱的错误处理

使用这个按字母顺序排列的错误消息列表来检测和解决TLC代码中的错误条件。