可重入函数
(1)函数体内运用了静态的数据结构;
(2)函数体内调用了malloc()或许free()函数;
(3)函数体内调用了规范I/O函数。
怎么写出可重入的函数?在函数体内不拜访那些全局变量,不运用静态局部变量,坚持只运用缺省态(auto)局部变量,写出的函数就将是可重入的。假如有必要拜访全局变量,记住运用互斥信号量来维护全局变量。或许调用该函数前关中止,调用后再开中止。
可重入函数能够被一个以上的使命调用,而不用忧虑数据被损坏。可重入函数任何时候都能够被中止,一段时间今后又能够运转,而相应的数据不会丢掉。可重入函数或许只运用局部变量,即保存在CPU寄存器中或仓库中;或许运用全局变量,则要对全局变量予以维护。