主要内容

什么是代码替换定制?

通过开发自定义代码替换库,自定义代码生成器替换默认为函数和操作符生成的C/ c++代码的方式和时间。控件以交互方式开发库代码替换工具或通过编程的方式。

  • 开发适合特定应用程序需求的库

  • 将标识符添加到代码生成器在代码替换期间考虑的保留关键字列表中

  • 为函数定制代码生成器的匹配和替换过程

首先,快速开始代码替换库开发- Simulink金宝app

代码替换匹配和替换过程

当代码生成器遇到函数或操作符的调用点时,它:

  1. 使用函数或操作符名称或键和概念参数创建并部分填充代码替换项对象。

  2. 使用条目对象查询已配置的代码替换库以获得概念表示匹配。代码生成器按照表在库中出现的顺序在代码替换库中的表中搜索匹配项。当搜索匹配时,代码生成器会考虑:

    • 概念名称或键

    • 参数,包括数量、类型、类型限定符和复杂性

    • 算法(计算方法)

    • 定点饱和和舍入模式

    • 优先级

  3. 当匹配存在时,代码生成器返回一个代码替换对象,其中完全填充了概念表示、实现表示和优先级。如果代码生成器在一个表中发现多个匹配项,则条目优先级决定匹配项。优先级取值范围为0 ~ 100。最高优先级为0。代码生成器使用高优先级条目而不是具有较低优先级的类似条目。

  4. 在代码替换对象中使用C或c++替换函数原型生成代码。

代码替换定制限制

  • 代码替换验证——代码替换的行为可能不同于您的预期。例如,在代码生成器输入中观察到的数据类型可能与代码生成器在操作期间作为中间数据类型使用的数据类型不匹配。通过检查生成的代码来验证代码替换。看到验证代码替换库

  • 矩阵的代码替换——代码替换库不支持替换具有可变大小输入的函数。金宝app

  • 文件路径中的令牌——仅通过使用编程接口为代码替换条目指定构建信息时,可以在文件路径中包含令牌。“代码替换工具”不提供包含令牌的功能。参见在中指定生成信息定义代码替换库优化

  • 加法和减法运算替换——参见替换加法和减法运算符代码有关限制。

  • 数据一致性

    • 不支持金宝app

      • 与内置存储类相关联的参数DataScope设置为出口或者导入的内置存储类GetSet

      • Software-in-the-loop(银)

      • Processor-in-the-loop(公益诉讼)

      • 模型参考参数

      • 在statflow中导出函数®图表

      • 替换了用C函数原型控件或c++类I/O参数步进方法生成并使用根级I/O变量的函数

      • 替换了使用AUTOSAR系统目标文件生成并使用根级I/O或AUTOSAR可互运行访问函数的函数

    • 中根级I/O变量的数据对齐指令ert_main.cert_main.cpp它生成的文件:

      • 编译器支持全局变量金宝app对齐

      • 生成一个示例主程序(请选择配置参数>生成一个示例主程序

      • 为模型生成一个可重用的函数接口配置参数>代码生成>接口>代码接口打包可重用的功能

      • 函数使用根级I/O变量,这些变量作为单独的参数(set配置参数>代码生成>接口>传递根级I/O为个人观点

      • replace函数使用根级I/O变量

      • 被替换的功能提出了对齐要求

    • 如果丢弃生成的示例主程序,请正确对齐使用的根级I/O变量。

    • 如果在这种情况下选择不生成示例主程序,则代码生成器不会替换函数。

    • 如果替换对共享实用程序接口参数施加对齐要求,则代码生成器不支持数据对齐。在这些条件下,不会发生替换。如果已注册的数据对齐类型规范支持局部变量对齐,则允许替换,并且替换仅涉及局部变量。金宝app

    • 金宝app仿真软件。公共汽车

      • 如果用户注册的对齐规范不支持结构字段对齐,请进行对齐金宝app金宝app仿真软件。公共汽车对象不受支持,除非金宝app金宝app仿真软件。公共汽车是进口的。

      • 当调整金宝app仿真软件。公共汽车数据对象中,总线对象中的元素在同一边界上对齐。边界是每个总线元素对齐要求的最低公倍数。

    • 当您指定模型引用层次结构中出现的函数的对齐方式,并且层次结构中的多个模型操作相同的函数数据时,最底层的模型指定层次结构中其余部分的对齐方式。如果由于层次结构中较低模型设置的对齐而无法满足层次结构中较高模型中的函数的对齐需求,则不会发生较高模型中的替换。在某些情况下,会生成错误消息。类的对齐属性来手动设置共享数据上的对齐属性,以解决此问题金宝app仿真软件。公共汽车金宝app仿真软件。信号对象。

    • 这是你的责任对齐属性设置所创建的存储类。

    看到代码替换的数据对齐

  • coder.replace函数-参见coder.replace有关限制。

相关的话题