读书人

关于函数重载的有关问题 多任务系统

发布时间: 2013-03-14 10:33:15 作者: rapoo

关于函数重载的问题 多任务系统
在ucosII多任务系统中,有可能存在几个任务同时调用一个函数的情况,如
void fun(u8 a, u8 b, u8 *c)
{
.....
}
fun函数可能同时被任务1,2,3调用,这种情况应该叫什么,会不会影响程序的运行,
我的理解是,这种情况应该叫函数的重载,每次调用都会用堆栽保护现场,执行完后再恢复现场,
并不属于重载函数的范畴,重载函数的定义是:
1.函数有不同参数
2.函数有不同的参数类型
[解决办法]
这个要求你的代码(也就fun函数)必须是可重入的
[解决办法]
这个不是重载,关于可重入,有一些要求,比如函数不能使用static变量,也不能使用全局变量等。具体你搜索一下就行了
[解决办法]
那要看函数里有没有全局变量咯,不然会出错的吧
[解决办法]
楼主的描述叫重入,不叫重载,重载是C++中编译期间的概念。

读书人网 >C语言

热点推荐