什么是C / C ++中的可重入函数?
在这里,我们将看到什么是C或C++中的可重入函数。如果有规定在执行过程中中断该功能,然后为ISR(中断服务程序)提供服务,然后继续执行任务,则该功能被称为可重入功能。这种类型的函数用于不同的情况下,例如递归,硬件中断处理。
对于可重入函数,应具有一些属性。这些在下面列出-
这种类型的函数将不使用任何全局或静态变量。没有限制,但是通常不建议这样做。这是因为该中断可能会更改全局变量的值,因此从ISR返回后,该函数可能会获得一些新值,并且结果将有所不同。
可重入函数不应修改自己的代码。我们需要功能的动作在整个代码中应保持不变。
另一个属性是可重入函数不应调用任何其他非可重入函数。
示例
int x;
int my_function() {
return x * 10;
}
int my_second_function() {
return my_function() * 20;
}这两个函数是不可重入的。第一个使用一个全局变量,因此它是不可重入的。第二个函数调用一个非可重入函数,因此这些也不是可重入函数。
示例
int my_function(int x) {
return x * 10;
}
int my_second_function(int x) {
return my_function(x) * 20;
}现在,这两个函数是可重入函数。
热门推荐
10 对患者生日祝福语简短
11 结婚祝福语简短装备
12 周岁祝福语学生文案简短
13 订婚领证祝福语简短精辟
14 导师获奖祝福语大全简短
15 新婚购房祝福语简短精辟
16 牛年祝福语简短的爱人
17 送芒果的祝福语简短
18 送给学长毕业祝福语简短