static inline声明
程序员文章站
2022-03-16 08:48:43
...
一、static inline 函数
此声明一般出现在 .h 头文件中。
声明的作用:这类希望全局使用又希望增加效率的函数实现在头文件中static inline。
二、以此方式声明函数易出现编译错误
.\Libraries\inc\fsl_clock.h(707): warning: #260-D: explicit type is missing ("int" assumed)
static ____inline void CLOCK_EnableClock(clock_ip_name_t clk)
.\Libraries\inc\fsl_clock.h(707): error: #65: expected a ";"
原因:因为inline 是C99才有的关键字,C89没有,有部分编译器不支持,或者部分支持,如支持inline 或 __inline等
解决方法:
inline’ is a keyword in C99 and C++; so the original code is legal in those languages. ‘__inline’ is an implementation-specific extension that armcc allows in C90, C99 and C++ (as do some other compilers).大概意思是说用 __inline 声明 在C90, C99 和 C++中都能进行编译