主要内容

什么是代码替换定制?

通过开发自定义代码替换库,自定义代码生成器如何以及何时替换默认情况下为函数和运算符生成的C/C++代码。您可以使用以交互方式开发库代码替换工具或通过编程的方式。

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

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

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

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

代码替换匹配和替换过程

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

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

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

    • 概念名称或键

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

    • 算法(计算方法)

    • 定点饱和和四舍五入模式

    • 优先级

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

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

代码替换自定义限制

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

  • 文件路径中的令牌——在仅使用编程接口为代码替换项指定构建信息时,可以在文件路径中包括令牌。代码替换工具无法提供包含令牌的功能。请参见在中指定构建信息定义代码替换库优化

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

  • coder.replace函数——看coder.replace相关限制。

  • coder.dataAlignment函数——看coder.dataAlignment相关限制。

相关话题