MISRA 2012规则8.10静态内联

时间:2018-08-06 19:09:59

标签: c misra

为什么MISRA建议使用静态存储类声明内联函数?虽然关键字inline提示编译器将所有函数调用替换为实际的函数主体,并且编译器可能会执行或可能不会执行该调用,但是给函数提供内部链接(静态)或外部链接(extern)如何影响内联运算编译器?

1 个答案:

答案 0 :(得分:2)

MISRA C:2012给出了规则8.10的理由:

  

理性

     

如果内联函数是使用外部链接声明的,但未在同一转换单元中定义,则行为是不确定的。

     

对通过外部链接声明的内联函数的调用可以调用   函数的外部定义,也可以使用内联   定义。尽管这不应该影响   称为函数,它可能会影响执行时间,因此   对实时程序的影响。