linux系统iot平台编程阶段总结
1.inline内联函数
在C语言中,如果一些函数被频繁调用,不断地有函数入栈,即函数栈,会造成栈空间或栈内存的大量消耗。
为了解决这个问题,特别的引入了inline修饰符,表示为内联函数。
在使用循环里面调用某个函数时,可以使用内联函数。
其实这种有点类似咱们前面学习的动态库和静态库的问题,使调用函数中的代码直接被放到main 函数中,执行for 循环时,会不断调用这段代码,而不是不断地开辟一个函数栈。
inline只适合涵数体内代码简单的函数数使用,不能包含复杂的结构控制语句例如while、switch,并且内联函数本身不能是直接递归函数(自己内部还调用自己的函数)。
每一处内联函数的调用都要复制代码,将使程序的总代码量增大,消耗更多的内存空间。
2.