【问题标题】:Vararg in autosar cautosarc 中的 Vararg
【发布时间】:2022-12-01 16:20:16
【问题描述】:

是否允许在 autosar C 代码中使用可变参数?如果不是,为什么?

我对autosar不熟悉。我found这个c++14的文档,里面说:

规则 A8-4-1(要求、实施、自动化) 不应使用省略号来定义函数。

原因是,省略号符号绕过了类型检查。建议使用可变参数模板、函数重载或函数调用链。

我还没有找到关于 autosar c 可变参数的任何规则。在 C 代码中是否有任何反对可变参数的规则?有什么理由避免它吗?有什么办法可以避免它(我需要实现一个带有字符串格式的日志记录功能)?

【问题讨论】:

    标签: c autosar


    【解决方案1】:

    它也在米斯拉。它提高了代码质量、安全性和安全性。但是没有它,事情会变得更加困难。

    我所做的(也用于日志记录)是创建适合在特定情况下进行日志记录的多个函数。根据需要,log(text, int, int)log(text, binary data block, size) 等。在这些函数中,调用了将所有内容打印到日志中的单变量参数函数。你不完全合规,但你很接近,并且变量参数的使用包含在一个特定的代码区域。如果您需要完全兼容,则代码是解耦的并且更容易更改。

    【讨论】:

      猜你喜欢
      • 2020-10-29
      • 1970-01-01
      • 1970-01-01
      • 2022-01-24
      • 1970-01-01
      • 2022-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多