static:修饰全局变量,函数改变作用域
修饰局部变量 生命周期随进程
作用:修饰一个变量,保持变量的内存可见性
修饰变量后,cpu每次访问变量数据,都需要从内存中去获取,防止编译器过度优化
函数的重入
一个程序的运行,可能存在多个执行流程(比如信号单元这里涉及到俩个:main主控流程、信号处理流程,或者是在线程之间也能出现)
如果一个函数同时存在多个执行流程进入执行,就叫做函数的重入。
可重入函数:
一个函数在多个执行流程中重入后,并不会产生一些异常或者预期之外的情况,无论怎么重入都不会出现数据二义问题
不可重入函数:
一个函数在多个执行流程中重入之后,可能会产生一些数据二义性,导致预期之外的结果,有可能造成数据二义问题