函数不可重入的原因之一---拷贝传参
来源:互联网 发布:淘宝美工速成 编辑:程序博客网 时间:2024/04/29 15:01
对于比较简单的架构,如c51,它的堆栈只能用内部的RAM,如果采有堆栈传参方式,溢出问题是个大麻烦。所以只能采用拷贝传参方式。但是采用拷贝传参意味着函数是不可重入的。
其实,这种机制下,当例如函数x()正被调用过程中,一个更高优先级的任务介入,而这个高级任务同样也调用x()函数,那么根据拷贝传输的原理势必造成并非我们想要的结果。
如果使51的函数可重入,还是有点办法的:
1 可以用汇编写,确保该函数的运算都用R0--R7完成。
2 声明函数时加个关键字reentrant即可。
- 函数不可重入的原因之一---拷贝传参
- 不可重入的函数
- 不可重入函数
- 不可重入函数
- 函数的重入和不可重入
- 不可重入函数getpwnam的问题
- 危险:中断不可重入的函数
- 函数的可重入和不可重入
- 重入与不可重入函数
- 不可重入函数总结
- 不可重入函数测试
- 可重入函数与不可重入函数的区别
- 可重入函数与不可重入函数的区别
- 不可重入函数的产生和预防
- 可重入函数与不可重入函数
- 可重入函数与不可重入函数
- 可重入函数与不可重入函数
- 可重入函数 和 不可重入函数
- Oracle 分页
- 通过单选钮切换显示内容
- 以前写的第一个SSH说明
- 查找所有文件夹
- svn 提交失败,提示 out of date
- 函数不可重入的原因之一---拷贝传参
- 谈一下目前对编程的感想
- SQL 2005启用组件Ad Hoc Distributed Queries收藏
- C语言进行身份证号码校验
- 中国的程序员为什么这么辛苦?
- 一个很有用的异步I/O套接字模型例子
- C# 简单链表的实现上(object类型)
- 优化变成了忧患:String.split引发的“内存泄露”
- TI McBSP 串口调试心得