1、什么是可重入函数
在一个多任务环境中,一个函数如果可以被多次重复调用,或者被多个任务并发调用,函数在运行过程中可以随时随地被打断,并不影响该函数的运行结果,我们称这样的函数为可重入函数。相反,如果一个函数不能多次并发调用,在执行过程中不能被中断,否则就会影响函数的运行结果,那么这个函数就是不可重入函数。
2、非可重入函数特征
一个函数如果满足下列条件中的任何一个,那么这个函数就是不可重入函数。
● 函数内部使用了全局变量或静态变量。
● 函数返回值是一个全局变量或静态变量。
● 函数内部调用了malloc()/free()函数。
● 函数内部使用了标准I/O函数。
● 函数内部调用了其他不可重入函数。
本文介绍了可重入函数的概念,即在多任务环境中能被中断且不影响结果的函数,对比了其与不可重入函数的区别,列举了不可重入函数的特征,如使用全局变量、静态变量、malloc()等。
2534

被折叠的 条评论
为什么被折叠?



