+ -
当前位置:首页 → 问答吧 → 几个函数的问题,请教大家,谢谢!

几个函数的问题,请教大家,谢谢!

时间:2011-11-29

来源:互联网

问题:
1.静态函数和全局函数编译之后存放在什么位置?
  有的说是在代码区,有人说是在静态变量区。是不是应该存放在代码区内的一个区域里面?
2.静态函数和可重入函数具体是什么关系?
3.静态函数和全局函数的出现有什么目的?是为了更好的实现回调函数么?
或者说,回调函数都是静态或者全局函数么?

欢迎讨论,多谢大家!

作者: NowDoIT   发布时间: 2011-11-29

回调函数都是静态或者全局函数

作者: agoago_2009   发布时间: 2011-11-29

学习。几个概念不是很清楚。
我的理解,对C语言而言,静态函数是在同一个.C文件中可见的函数。而全局函数是整个工程可见。
一般而言,回调函数的定义和调用不会在同一个.C文件中,因此,回调函数应该是非静态函数。
如果有什么结论,希望分享给大家。

作者: hc_z   发布时间: 2011-11-29

1.代码区。
2.不明白可重入函数
3.与回调没什么关系。静态函数只是为了控制函数的作用域在文件内。
回调函数就是函数指针,指到一个可访问的合法的函数就可以了。

作者: daviddb7   发布时间: 2011-11-29

可重入函数主要用于多任务环境中,一个可重入的函数简单来说就是可以被中断的函数,也就是说,可以在这个函数执行的任何时刻中断它,转入OS调度下去执行另外一段代码,而返回控制时不会出现什么错误。
满足一下条件的函数不具有可重入性:
1) 函数体内使用了静态的数据结构;
2) 函数体内调用了malloc()或者free()函数;   
3) 函数体内调用了标准I/O函数。

作者: cfjtaishan   发布时间: 2011-11-29

热门下载

更多