码迷,mamicode.com
首页 > 其他好文 > 详细

关于 可重入 函数的详解

时间:2015-05-14 01:02:51      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:编程   线程   c语言 嵌入式   

一、什么是可重入函数?

答:可重入函数就是多个线程访问同一个函数时,彼此之间互不影响,均能得到期望的结果


二、如何使函数可重入?

答:保证函数所有的输入都来自于函数的形参,所有的输出都为从函数返回值或输出参数得到,

        函数内部不得使用全局变量或者静态局部变量


三、不可重入函数举例    

int g_flag = 0;

int fun(int x)

{

    int a = 0;

    //在函数内部使用了全局变量g_flag

    if (g_flag > 0)

    {

        a += x;

     }

   return a;

}

或者

int fun(int x)

{

    static int a = 0;

    //在函数内部使用了静态局部变量a

    a += x;

    return a;

}

关于 可重入 函数的详解

标签:编程   线程   c语言 嵌入式   

原文地址:http://blog.csdn.net/dcx1205/article/details/45703303

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!