文档

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

如果你只需要产生ANSI®从仿真软件C或c++代码金宝app®模型,您不需要知道如何准备文件为目标语言的编译器。如果你需要定制输出,您必须运行目标语言编译器。与目标语言的编译器,您可以:

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

  • 内联函数的代码块。

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

MATLAB函数块和嵌入的编码器®产品以多种方式促进代码定制。你可以完成你需要的东西,而不需要编写TLC文件。然而,你需要准备如果你打算内联S-functions TLC文件。

看到下面的部分。

自定义输出

使用目标语言编译器生成定制的输出,它帮助如果你了解块执行他们的功能,数据类型是被操纵,的结构模型.rtw文件,以及如何修改目标文件来产生所需的输出。指令和内置函数的主题目标语言编译器描述目标语言指令及其相关结构。您将使用目标语言编译器指令和结构修改现有目标文件或创建新的,这取决于您的需要。看到薄层色谱文件关于目标文件的更多信息。

请注意

你不应该定制TLC文件的文件夹matlabroot/ rtw / c /薄层色谱尽管存在这样做的能力。这样的TLC定制代码生成过程中可能不适用,并可能导致不可预知的结果。

内联S-Functions

目标语言编译器提供了大量的自由改变,优化,提高生成的代码。TLC最重要的特性之一是,它可以让你编写内联S-functions添加你自己的算法,设备驱动程序,和自定义模块仿真软件模型。金宝app

创建一个函数,你编写代码定义的应用程序编程接口(API)。默认情况下,目标语言编译器将生成noninlined S-functions代码调用它们使用相同的API。这种广义界面需要大量的开销很大的存在称为数据结构SimStruct为每个实例中的每个功能块模型。此外,额外的运行时开销时涉及的方法(函数)在你的s函数调用。你可以消除这种开销用目标语言编译器内联函数,通过创建一个薄层色谱文件命名sfunction_name.tlc生成的源代码功能,就好像它是一个内置的块。内联一个功能提高了生成的代码的效率和减少内存使用量。

定义高级存储类

某些数据布局,如嵌套结构,不能使用标准的生成非结构化FlatStructure存储类类型。您可以定义一个先进的存储类如果你想生成其他类型的数据。创建先进存储架势需要理解TLC编程和使用一种特殊的高级模式定义存储类的设计师。有关更多信息,请参见精确控制数据表示通过编写TLC存储类的代码(嵌入式编码)。注意,这个支持需要嵌入式编码人金宝app员执照。

相关的话题