static inline声明

一、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++中都能进行编译

你可能感兴趣的:(学习笔记)