文档

什么是代码替换定制?

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

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

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

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

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

代码替换匹配和替换过程

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

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

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

    • 概念名称或键

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

    • 算法(计算方法)

    • 定点饱和和舍入模式

    • 优先级

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

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

代码替换定制限制

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

  • 文件路径中的令牌—在仅使用编程接口为代码替换项指定构建信息时,可以在文件路径中包含令牌。代码替换工具不提供包含令牌的功能。看到为替换代码指定生成信息

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

  • 数据一致性

    • 不支持金宝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对齐

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

      • 为模型集生成可重用的功能接口配置参数>代码生成>接口>代码接口封装可重用的功能

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

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

      • 被替换的函数施加对齐要求

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

      如果在本例中选择不生成示例主程序,则代码生成器不会替换函数。

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

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

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

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

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

    • 你有责任尊重对齐属性设置,用于创建的自定义存储类。

    看到代码替换的数据对齐

  • coder.replace功能-参见coder.replace有关限制。

相关的话题

这个话题有帮助吗?