主要内容

lefacy_code.

使用遗留代码工具

句法

Legacy_code('help')
眼镜= Legacy_Code('初始化')
Legacy_code('sfcn_cmex_generate',眼镜
Legacy_code('编译',眼镜编译
Legacy_code('generate_for_sim',眼镜型号名称
Legacy_code('slblock_generate',眼镜型号名称
Legacy_code('sfcn_tlc_generate',眼镜
Legacy_code('sfcn_makecfg_generate',眼镜
Legacy_code('RTWMAKECFG_GENED',眼镜
Legacy_code('backward_compatibility')

描述

lefacy_code.函数创建一个matlab®用于注册现有C或C ++代码的规范的结构和正在生成的S函数。此外,该函数可以生成,编译和链接,并为指定的S函数创建屏蔽块。其他选项包括生成

  • Accelerator模式或代码生成中的用于模拟的TLC文件

  • 一个RTWMAKECFG.M.您可以自定义以指定驻留在不同目录中的依赖源和头文件的文件,该文件和标头文件比生成的S函数的依赖于不同的目录

Legacy_code('help')显示使用遗留代码工具的说明。

眼镜= Legacy_Code('初始化')初始化遗留代码工具数据结构,眼镜,它寄存在遗留代码工具生成的S-函数的现有C或C ++代码和属性的特征。

Legacy_code('sfcn_cmex_generate',眼镜根据遗留代码工具数据结构指定的S函数源文件,眼镜

Legacy_code('编译',眼镜编译编译并链接基于数据结构的遗留代码工具生成的S函数,眼镜,以及您可能指定的编译器选项。必须支持编译器选项万博1manbetx梅克斯功能。

Legacy_code('generate_for_sim',眼镜型号名称生成,编译和链接S-函数在一步中。如果是options.usetlcwithaccel.遗留代码工具数据结构的字段设置为逻辑1(真的),该函数还生成TLC文件,用于加速模拟。

Legacy_code('slblock_generate',眼镜型号名称基于数据结构生成由传统代码工具生成的S函数的屏蔽的S函数块,眼镜。该块出现在Simulink中万博1manbetx®模型指定型号名称。如果你省略型号名称,块显示在空模型编辑器窗口中。

Legacy_code('sfcn_tlc_generate',眼镜生成基于数据结构的传统代码工具生成的TLC文件,眼镜。如果您愿意,此选项是相关的:

  • 在Simulink软件中强制加速器模式使用所生成的S万博1manbetx函数的TLC内联代码。查看描述的描述sssetOptions.SIMSTRUCT功能和ss_option_use_tlc_with_accelerator.有关更多信息的S函数选项。

  • 万博1manbetxSimulink Coder™软件从Simulink模型生成代码。万博1manbetx有关更多信息,请参阅使用遗留代码工具将外部代码导入外部代码的调用(万博1manbetxSimulink编码器)

Legacy_code('sfcn_makecfg_generate',眼镜生成一个答案_makecfg.m.基于数据结构的遗留代码工具生成的S-函数的文件,眼镜。此选项才相关,仅当您使用时万博1manbetxSimulink编码器软件从Simulink模型生成代码。万博1manbetx有关更多信息,请参阅使用makecfg为S函数自定义生成的makefiles(万博1manbetxSimulink编码器)使用遗留代码工具将外部代码导入外部代码的调用(万博1manbetxSimulink编码器)

Legacy_code('RTWMAKECFG_GENED',眼镜生成一个RTWMAKECFG.M.基于数据结构的遗留代码工具生成的S-函数的文件,眼镜。此选项才相关,仅当您使用时万博1manbetxSimulink编码器软件从Simulink模型生成代码。万博1manbetx有关更多信息,请参阅使用rtwmakecfg.m api自定义生成的makefiles(万博1manbetxSimulink编码器)使用遗留代码工具将外部代码导入外部代码的调用(万博1manbetxSimulink编码器)

Legacy_code('backward_compatibility')自动更新使用遗留代码工具到此参考页面中描述的支持语法的语法万博1manbetx使用遗留代码工具集成C函数

输入参数

眼镜

具有以下字段的结构:

命名S函数

sfunctionname.(必填) - 一个字符向量,指定要由遗留代码工具生成的s函数的名称。

定义遗留代码工具功能规范

  • initializeconditionsfcnspec.- 一个非空字符向量,指定S函数调用初始化和重置状态的函数。您必须使用Simulink软件可以如上所述解释的令牌声明此功能万博1manbetx声明遗留代码工具功能规范

  • outputfcnspec.- 一个非空字符向量,指定每个时间步骤的S函数调用的函数。您必须使用Simulink软件可以如上所述解释的令牌声明此功能万博1manbetx声明遗留代码工具功能规范

  • startfcnspec.- 一个字符向量,指定S函数在开始执行时调用的函数。此函数可以访问S函数参数参数和工作数据。您必须使用Simulink软件可以如上所述解释的令牌声明此功能万博1manbetx声明遗留代码工具功能规范

  • terminatefcnspec.- 一个字符向量,指定S函数调用终止执行时的函数。此函数可以访问S函数参数参数和工作数据。您必须使用Simulink软件可以如上所述解释的令牌声明此功能万博1manbetx声明遗留代码工具功能规范

定义编译资源

  • 头文件- 指定编译所需的头文件的文件名的字符向量阵列。

  • sourcefiles.- 指定编译所需的源文件的字符向量的单元格数组。您可以使用绝对或相对路径名称指定源文件。

  • hostlibfiles.- 指定主机编译所需的库文件的字符向量的单元格数组。您可以使用绝对或相对路径名称指定库文件。

  • targetlibfiles.- 指定目标(即独立)编译所需的库文件的字符向量的单元格数组。您可以使用绝对或相对路径名称指定库文件。

  • 进入- 指定包含标题文件的目录的字符向量的单元格数组。您可以使用绝对或相对路径名称指定目录。

  • SRCPaths.- 指定包含源文件的目录的字符向量的单元格数组。您可以使用绝对或相对路径名称指定目录。

  • libpaths.- 指定包含主机和目标库文件的目录的字符向量的单元格数组。您可以使用绝对或相对路径名称指定目录。

指定采样时间

采样时间- 以下之一:

  • '遗传'(默认) - 从源块继承采样时间。

  • '参数化'- 采样时间表示为可调参数。生成的代码可以通过调用MEX API函数来访问参数,例如mxgetpr.或者mxgetdata.

  • 修复 - 您明确指定的采样时间。有关如何指定采样时间的信息,请参阅指定采样时间

如果指定此字段,则必须持续指定它。

定义S函数选项

选项- 控制S函数选项的结构。结构的字段包括:

  • canbecaledconditionally- 指定S函数设置的逻辑值ss_option_can_be_called_conditionally选项。默认情况下,值为true(1)。

  • convertndarraytorowmajor.- 一个逻辑值,指定列 - 主要格式和行主要格式之间矩阵的自动转换。matlab,simulink和生成的代码使用列 - 主要格式。万博1manbetxC的行主要格式由C.默认情况下,该值是错误的0.)。如果您目前指定选项的先前版本,convert2dmatrixtorowmajor.,该函数自动指定新的convertndarraytorowmajor.选项。

    笔记

    此选项不支持2-D矩阵的复杂数据。万博1manbetx

  • ismacro.- 指定遗留代码是否为C宏的逻辑值。默认情况下,值为false(0.)。

  • isvolatile.- 指定S函数设置的逻辑值ss_option_nonvolatile.选项。默认情况下,值为true(1)。

  • - 一个字符矢量指定'C'或者'c ++'作为S函数的目标语言,传统代码工具将产生。默认情况下,该值是'C'

    笔记

    遗留代码工具可以与C ++函数界面,但不是C ++对象。在周围的工作,看遗留代码工具限制在Simuli万博1manbetxnk文档中。

  • outcalSconditionallywritting.- 一个逻辑值,指定遗留代码是否有条件地写入输出端口。如果真的,生成的S函数指定不能覆盖与每个输出端口关联的内存并是全局的(ss_not_reusable_and_global.)。如果错误的,与每个输出端口关联的内存是可重复使用的并且是本地的(ss_reusable_and_local.)。默认情况下,该值是错误的0.)。有关更多信息,请参阅sssetoutputportimopts.

  • singlecppmexfile.- 逻辑值,如果真的,指定生成的代码:

    • 要求您生成并管理INLINED的S函数仅为一个文件(.cpp.)而不是两个(。C.tlc.)。

    • 根据模型配置参数指定,维护模型代码样式(在表达式和条件表达式中的括号使用和保存操作数表达式)。

    默认情况下,该值是错误的

    限制

    你不能设置singlecppmexfile.领域真的如果

    • options.language ='c ++'

    • 您使用以下Simulink对象之一万博1manbetxIsalias.物业设为真的

      • 万博1manbetxsimulink.bus.

      • 万博1manbetxsimulink.aliaStype.

      • 万博1manbetxsimulink.numerictype.

    • 遗留代码工具功能规范包括一个空白*或者空白**表示状态参数的标量工作数据

    • 头文件遗留代码工具结构的字段指定多个头文件

  • 万博1manbetxsupportsmultipleexecinstances.- 指定是否包含对其的呼叫的逻辑值ss万博1manbetxsupportsmultipleexecinstances.功能。默认情况下,该值是错误的0.)。

  • 万博1manbetxsupportcodereuseacrossmodels.- 指定生成的S函数是否可以在模型引用层次结构中重用的逻辑值。如果真的,生成的S函数包括ssset万博1manbetxsupportedforcodereuseacodels.函数调用。代码生成器产生S-函数的代码slprj \ ert \ _sharedutils文件夹。

  • 万博1manbetx支持员长- 指定生成的S函数是否必须与模型覆盖范围兼容的逻辑值。默认情况下,该值是错误的0.)。

  • 万博1manbetxsupportCoverageanDdesignifier- 指定生成的S函数是否必须与模型覆盖范围兼容的逻辑值万博1manbetxSimulink Design Verifier™。默认情况下,该值是错误的0.)。

  • USETLCWithacel.- 指定S函数设置的逻辑值ss_option_use_tlc_with_accelerator.选项。默认情况下,值为true(1)。

型号名称

Simulink模型的名称是万博1manbetx哪个传统代码工具在指定时插入屏蔽的S函数块lefacy_code.与行动字符矢量'slblock_generate'。如果省略此参数,则块将显示在空模型编辑器窗口中。

介绍在R2006B.