主要内容

管理构建过程文件

应用生成的代码源和头文件的构建过程,它有助于了解构建过程生成的文件和控制文件生成的条件。这些信息生成的代码可以访问资源,如:

  • 公共接口模型的入口点

  • 枚举类型对应的内置数据类型

  • 数据结构描述模型的信号、状态和参数

代码生成器创建模型。*文件在代码生成和构建过程。您可以自定义生成的头文件的名称,来源和数据文件。有关更多信息,请参见自定义生成的文件名(嵌入式编码)。代码生成器创建额外的文件夹和依赖文件来支持共享公用事业和模型参考。金宝app更多信息构建过程创建的文件夹,看到的构建过程管理文件夹。为例,展示了如何使用项目管理的构建过程文件夹,看到的生成代码和模拟模型在一个项目

根据模型架构和代码生成选项,GRT-based系统目标文件的构建过程可以产生文件ERT-based系统构建过程不产生目标文件。ERT-based系统目标文件,构建过程包GRT-based系统生成的文件不同于目标文件。看到管理文件生成的代码模块的包装(嵌入式编码)

请注意

默认情况下,构建过程删除外国(不是生成的)源文件建立文件夹。可以保护外国源文件建立文件夹遵循的指导方针在建立文件夹保存外部代码文件

表描述了主要生成的文件。生成的文件名显示在表内模型代表的名字你的模型生成代码。的子系统代表模型中的一个子系统的名称。当您选择创建代码生成报告参数,代码生成器产生一组HTML文件。有一个为每个源文件加上一个HTML文件模型_contents.html索引文件中html子文件夹内建立文件夹。表中的源文件和头文件的依赖关系。其他文件的依赖关系的描述,请参阅构建过程管理文件的依赖关系构建过程添加依赖关系

文件 描述

builtin_typeid_types.h

定义一个枚举类型对应的内置数据类型。

一个模型构建时生成这个文件的一个或多个这些条件应用:

  • 您的模型包含一个Stateflow图表,使用消息。

  • 使你的模型配置MAT-file日志

  • 你的模型配置使C API选项代码生成>接口

模型。bat

包含窗口®批处理文件的命令设置编译器环境并调用使实用程序。

使用这个文件的更多信息,请参阅model.bat

模型。c

模型. cpp

对应于模型文件。

目标语言编译器生成这个C或c++源代码文件。文件包含:

  • 包含文件模型。h模型_private.h

  • 数据,数据放置在除外模型_data.c

  • 模型相关的调度程序代码

  • 模型相关的解算器代码

  • 模型注册码

  • 算法代码

  • 可选通包装器函数

模型. exe(Windows平台)

模型(UNIX®麦金塔电脑平台)

可执行程序文件。

模型构建生成这个文件,除非您显式地指定代码生成器生成的代码。构建生成可执行文件在当前文件夹(不是建立文件夹)的控制使开发系统的效用。

模型。h

定义模型的数据结构和模型入口点的公共接口和数据结构。提供了一个接口的实时模型数据结构(模型_rtM)通过访问宏。

子系统。c. cpp在模型中包含的文件模型。h。这个文件包括:

  • 导出的模型金宝app®数据符号

  • 模型数据结构,包括rtM

  • 模型入口点函数

有关更多信息,请参见model.h

模型楼上

生成makefile控制生成的代码编译并链接到最终的二进制文件使开发系统的效用。

如果你设置MAKEFLAGS环境变量,不与这个变量选择选项,与当前的冲突使实用程序所使用的构建过程。

模型.rtw

代表了编译模型。

默认情况下,构建过程删除这个ASCII文件当构建过程完成。你可以选择保留文件进行检查。

模型_capi.h

模型_capi.c

包含数据结构描述模型的信号,没有使用外部模式状态和参数。

有关更多信息,请参见使用C API之间交换数据和外部代码生成

模型_data.c

包含(如果有条件地生成)声明的参数数据结构和恒定的I / O数据块结构,结构和零表示该模型使用的数据类型。

模型建立模型生成这个文件时,使用这些数据结构。的走读生出现在声明的结构模型。h。当存在时,该文件包含:

  • 块I / O参数

  • 包含文件模型。h模型_private.h

  • 用户定义的结构定义为0表示该模型使用的数据类型

  • 常数参数

模型_dt.h

声明包含数据类型和数据结构类型过渡信息生成的模型数据结构支持外部模式。金宝app

模型_private.h

包含本地定义常数和本地数据模型和子系统。

从模型中生成的源文件构建包括这个文件。当你接口外部代码从模型生成的代码,包括模型_private.h。文件包含:

  • 导入的模型数据符号金宝app

  • Stateflow®入口点

  • 金宝app仿真软件编码器™细节(各种宏,枚举年代,等等,这样的私人代码)

有关更多信息,请参见构建过程管理文件的依赖关系

model_reference_types.h

包含时间桥梁的类型定义。

模型构建生成这个文件引用的模型或模型包含模型参考块。

模型_targ_data_map.m

包括MATLAB®语言命令,外部模式使用初始化外部模式连接。

模型_types.h

为实时提供向前声明模型数据结构和数据结构的参数。

从模型中生成的头文件构建包括这个文件。函数声明的可重用函数可以使用这些结构。

multiword_types.h

包含multiple-word宽的类型定义数据类型和他们的字大小的块。如果你的代码使用多字数据类型,包含这个头文件。

一个模型构建时生成这个文件的一个或多个这些条件应用:

  • 你的模型使用多字数据类型。

  • 使你的模型配置MAT-file日志

  • 使你的模型配置代码生成>接口>外部模式

rtGetInf.c

rtGetInf.h

rtGetNaN.c

rtGetNaN.h

rt_nonfinite.c

rt_nonfinite.h

声明并初始化全局非限定的值,-,。提供非限定的比较函数。

模型构建时生成这些文件的一个或多个这些条件应用:

  • 模型包含S-functions。

  • 从模型中生成的代码需要非限定的数字。

  • 使你的模型配置MAT-file日志

  • 你的模型配置选择grt.tlc随着系统目标文件和使经典的调用接口

rtmodel.h

包含# include指令所需的静态主程序模块等rt_main.c

构建过程并不在代码生成时创建这些模块。这些模块包括rtmodel.h访问模型相关的数据结构和入口点。如果你创建自己的主程序模块,确保包括rtmodel.h

rtwtypes.h

提供类型定义,#定义语句和枚举。

对ERT系统目标文件,代码生成器创建rtwtypes.h只有在这些条件应用之一:

  • 数据类型替换(嵌入式编码)被设置为使用编码器类型定义

  • 数据类型替换(嵌入式编码)被设置为使用C数据类型固定宽度的整数编码器typedef兼容性(嵌入式编码)被选中。如果你使用遗留自定义代码或静态源文件(matlabroot),需要金宝app仿真软件编码器数据类型定义,设置的生成rtwtypes.h

对GRT ERT-based系统不生成的目标文件接口和没有noninlined S-functions,rtwtypes.h不包括simstruc_types.h

有关更多信息,请参见rtwtypes.h构建过程管理文件的依赖关系

rtw_proj.tmw

sl_proj.tmw

标记文件。

构建过程生成这些文件来帮助使效用决定何时重新编译和链接生成的代码。

rt_defines.h

包含特殊的类型定义(如π和数学常量e)和定义了UNUSED_PARAMETER宏。

模型构建时生成这个文件生成的代码需要一个数学常数定义或当所需的函数体不访问模型函数参数。

rt_sfcn_helper.h

rt_sfcn_helper.c

提供功能noninlined S-functions在模型中使用。

的noninlined S-functions使用功能rt_CallSys,rt_enableSys,rt_DisableSys打电话给下游函数调用子系统。

子系统。c

包含C源代码为每个noninlined nonvirtual子系统或复制的代码当子系统配置为将代码放在一个单独的文件中。

子系统。h

包含导出的符号noninlined nonvirtual子系统。

模型。bat

这个文件包含Windows批处理文件的命令设置编译器环境并调用使实用程序。

如果您正在使用的工具链方法构建过程,你也可以使用这个批处理文件从生成的makefile中提取信息,模型楼上。信息包括宏定义和值出现在makefile,等CFLAGS(C编译器标志)CPP_FLAGS(c++编译器标志)。的文件夹,其中包含模型。bat选为当前工作目录中,在命令窗口中,类型:

> >系统('模型。bat信息”)

在UNIX和麦金塔电脑不创建平台,代码生成器模型。bat文件。工具链的方法来提取信息从生成的makefile构建在这些系统中,在命令窗口中,类型:

> >系统(“gmake - f模型楼上信息”)

模型。h

的头文件模型。h声明模型数据结构和模型入口点的公共接口和数据结构。这个头文件也提供了一个接口的实时模型数据结构(模型_M通过使用访问宏)。如果您的代码接口模型函数或模型数据结构,包括模型。h:

  • 出口全球信号

    走读生int32_T输入;/ * ' < Root > / * /
  • 全球结构定义

    / *块参数(自动存储)* /走读生Parameters_mymodel mymodel_P;
  • 实时模型(RTM)宏定义

    的ifndef rtmGetSampleTime # define rtmGetSampleTime (rtm idx) ((rtm) - > Timing.sampleTimes [idx]) # endif
  • 模型入口点函数(ERT)

    外面的空白mymodel_initialize(无效);外面的空白mymodel_step(无效);外面的空白mymodel_terminate(无效);

c(或. cpp)文件包括模型。h。如果模型构建生成c(或. cpp)从TLC脚本文件,可以包括TLC来源模型。h

# include“% < CompiledModel.Name > . h”

如果c是一个静态的源文件,您可以使用固定头文件的名字吗rtmodel.h。这个文件包含了模型。h头文件:

# include”模型。如果主要h " / *。生成c * /

# include“rtmodel。如果静态主要h " / *。c * /

其他外部源文件需要包括模型。h接口模型数据,例如全球出口参数或信号。的模型。h文件本身可以有额外的头由于需求依赖关系的生成的代码。看到系统头文件代码生成器的头文件

减少依赖和减少包括头文件,看看构建过程管理文件的依赖关系

rtwtypes.h

当配置参数数据类型替换被设置为使用编码器类型定义包括,生成的代码rtwtypes.h。的头文件rtwtypes.h定义数据类型、结构和所需的宏生成的代码。

通常情况下,生成的代码要求整数溢出或下溢的操作在特定的值。例如,当代码预计16位整数,不接受一个8位的代码或一个32位的整数类型。C语言不设置标准等类型的比特数字符int

请注意

C99语言标准的创建之前,没有普遍接受的数据类型大小的整数。C99标准提供了头文件stdint.hstdbool.h。的stdint.h文件包含sized-integer实现以前不可用。

为了适应C语言的这一功能,生成的代码使用大小的整数类型,如int8_Tuint32_T,这不是标准的C类型。在rtwtypes.h,生成的代码将这些sized-integer类型映射到相应的C字基类型使用信息硬件实现面板的配置参数对话框。

代码生成器产生的优化版本rtwtypes.hERT-based系统这些条件适用时目标文件:

  • 配置参数>代码生成>接口>先进的参数>经典的调用接口不是选择。

  • 该模型不包含noninlined S-functions。

优化rtwtypes.h文件包含定义特定于硬件的配置模型。

的位置rtwtypes.h取决于构建过程使用共享公用事业的位置。如果它使用共享位置,代码生成器的地方rtwtypes.hslprj /目标/ _sharedutils。否则,它的地方rtwtypes.h在构建文件夹(模型_目标_rtw)。看到指定生成的代码的接口控制rtwtypes的位置。h共享公用代码

源文件包括rtwtypes.h头文件的源文件使用代码生成器类型名称或其他代码生成器的定义。例如,文件,通过使用代码生成器声明变量的数据类型:

uint32_T myvar#

在某些情况下,一个功能,自定义编译源文件,首先,通过墨西哥人命令,第二,由代码生成。在墨西哥人编译,rtwtypes.h通常是不可用。获得提供的一般定义rtwtypes.h,自定义源文件可以有条件地(通过MATLAB_MEX_FILE宏定义)包括tmwtypes.h:

# ifdef MATLAB_MEX_FILE tmwtypes # include”。h rtwtypes其他# # include。h”# endif

代码生成器的源文件c(或. cpp)文件包括rtwtypes.h没有预处理器检查。

# include“rtwtypes.h”

自定义目标语言编译器生成的源文件也可以发出包括报表生成的文件。

如果数据类型替换配置参数设置使用C数据类型固定宽度的整数,代码生成器不创建rtwtypes.h因为生成的代码不需要定义rtwtypes.h。如果生成的代码使用静态文件matlabroot要求金宝app仿真软件编码器数据类型定义,软件生成的简化版本rtwtypes.h。如果你有自定义代码,包括rtwtypes.h,你可以迫使一代的简化版本rtwtypes.h通过选择编码器typedef兼容性复选框。

简化rtwtypes.h

相关的话题