inline修饰符前面要加static
1 |
|
这行代码是放在.h文件中的。
仔细想想:
1、首先,inline函数是不能像传统的函数那样放在.c中然后在.h中给出接口在其余文件中调用的,
因为inline函数其实是跟宏定义类似,不存在所谓的函数入口。
2、因为第一点,会出现一个问题,就是说如果inline函数在两个不同的文件中出现,也就是说
一个.h被两个不同的文件包含,则会出现重名,链接失败
所以static inline 的用法就能很好的解决这个问题,
使用static修饰符,函数仅在文件内部可见,不会污染命名空间。
可以理解为一个inline在不同的.C里面生成了不同的实例,而且名字是完全相同的