可重入与不可重入

 

可重入与不可重入的理解

可重入的意思是一个函数同时被多次调用,在恢复上次不会影响原来的操纵结果

1、全局变量是不可重入, printf 引用全局变量stdout,浮点数是把临时操作结果放到硬件寄存器,会导致被破坏。

printf 和 浮点数是不可重入的。 

  不可重入

(1)使用了静态数据结构;
(2)调用了malloc或free;
(3)调用了标准I/O函数;标准io库很多实现都以不可重入的方式使用全局数据结构。
(4)进行了浮点运算.许多的处理器/编译器中,浮点一般都是不可重入的 (浮点运算大多使用协处理器或者软件模拟来实现。

 

 

 

参考链接:https://www.cnblogs.com/LiuYanYGZ/articles/5281547.html

posted @ 2022-04-06 08:55  cogitoergosum  阅读(279)  评论(0编辑  收藏  举报