为什么MISRA建议使用静态存储类声明内联函数?虽然关键字内联是编译器用实际函数体替换所有函数调用的提示,编译器可能执行它,也可能不执行它,但是给予函数内部链接(静态)或外部链接(extern)如何影响编译器的内联操作?
发布于 2018-08-06 19:18:03
MISRA C:2012给出了细则8.10的理由如下:
基本原理 如果内联函数是用外部链接声明的,但没有在同一翻译单元中定义,则行为是未定义的。 对用外部链接声明的内联函数的调用可以调用函数的外部定义,也可以使用内联定义。虽然这不应该影响被调用函数的行为,但它可能会影响执行时间,因此会对实时程序产生影响。
https://stackoverflow.com/questions/51714178
复制相似问题