主要内容

什么是代码替换定制?

自定义代码生成器替换其默认为函数和运营商生成的C / C ++代码,开发自定义代码替换库。您可以与之交互方式开发图书馆代码替换工具或以编程方式。

  • 制定针对特定应用要求量身定制的库

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

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

开始,快速入门代码替换库开发 - Simulink®金宝app

代码替换匹配和替换过程

当代码生成器遇到函数或运算符的呼叫站点时,它:

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

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

    • 概念名称或键

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

    • 算法(计算方法)

    • 定点饱和度和圆形模式

    • 优先事项

  3. 当存在匹配时,代码生成器返回代码替换对象,完全填充概念表示,实现表示和优先级。如果代码生成器在表中查找多个匹配项,则输入优先级确定匹配。优先级可以从0到100。最高优先级为0.代码生成器在具有较低优先级的类似条目上使用更高优先级条目。

  4. 在代码替换对象中使用C或C ++替换功能原型来生成代码。

代码替换定制限制

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

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

  • 文件路径中的令牌 - 您可以在使用编程接口指定代码替换条目的构建信息时,在文件路径中包含令牌。代码替换工具不提供包含令牌的能力。请参阅指定构建信息定义代码替换库优化

  • 添加和减法操作替换 - 请参阅添加和减法操作代码替换相关限制。

  • 数据一致性

    • 不支持金宝app

      • 与内置存储类关联的参数datascope.设置为出口或导入的内置存储类拍打

      • Software-in-the-loop(银)

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

      • 模型参考参数

      • 在statflow中导出函数®图表

      • 用C函数原型控制或C ++ I / O参数生成的替换功能,步骤方法,使用根级I / O变量

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

    • 中的根级I/O变量的数据对齐指令,如果存在下列条件,则代码生成器将包含ert_main.c.或者ert_main.cpp它产生的文件:

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

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

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

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

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

      • 替换功能施加对准要求

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

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

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

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

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

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

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

    • 您有责任尊重对齐属性设置所创建的存储类。

    看到用于代码替换的数据对齐

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

相关话题