在函数参数中评估 C 表达式是否违反了 MISRA C 准则?
Is evaluating C expression in the function argument violating MISRA C guideline?
现在考虑在安全关键嵌入式软件中执行的以下代码,其中 gcc_optimization_level
是 Level2 大小。假设一个函数,void foo(float v);
被调用为 foo(a/b);
,其中 a
和 b
也是 float
。在调用函数 foo
时计算 C 表达式 a/b
是否违反了任何 MISRA C 准则?
ps:本题是在上周弱化的上一版基础上修改的。现在这个问题确保它是一个单一的问题,而不是一个家庭作业问题,希望不会引起意见。
只要类型正确,MISRA C 中就不会阻止调用 foo( a / b )
。
在 MISRA C 中,essential types
的概念试图将更强的类型引入 C 语言 - 这在 MISRA C:2012 的附录 D 中有详细说明,规则 10.x指导方针正在执行。
同样,除了第 4.2 节“了解编译器”和第 5.3.1 节“编译器配置”讨论必要知识(未详细说明任何指南)之外,MISRA C 中没有任何内容讨论优化级别。这些部分现在构成 (freely downloadable) MISRA Compliance.
的一部分
免责声明:查看个人资料。
现在考虑在安全关键嵌入式软件中执行的以下代码,其中 gcc_optimization_level
是 Level2 大小。假设一个函数,void foo(float v);
被调用为 foo(a/b);
,其中 a
和 b
也是 float
。在调用函数 foo
时计算 C 表达式 a/b
是否违反了任何 MISRA C 准则?
ps:本题是在上周弱化的上一版基础上修改的。现在这个问题确保它是一个单一的问题,而不是一个家庭作业问题,希望不会引起意见。
只要类型正确,MISRA C 中就不会阻止调用 foo( a / b )
。
在 MISRA C 中,essential types
的概念试图将更强的类型引入 C 语言 - 这在 MISRA C:2012 的附录 D 中有详细说明,规则 10.x指导方针正在执行。
同样,除了第 4.2 节“了解编译器”和第 5.3.1 节“编译器配置”讨论必要知识(未详细说明任何指南)之外,MISRA C 中没有任何内容讨论优化级别。这些部分现在构成 (freely downloadable) MISRA Compliance.
的一部分免责声明:查看个人资料。