【发布时间】:2013-06-20 02:58:45
【问题描述】:
假设代码是这样的
void b()
{
...
}
void c()
{
b();
}
调用 b 后 c 是否被认为已终止但 b 尚未终止?
【问题讨论】:
-
c() 将在 b() 终止后终止 - 至少在您正在谈论的一般概念中
-
编译器可能会优化您的代码,使其在
b()之前终止c(),但您不应考虑优化代码。 -
@Tom van der Woerdt:在从被调用函数返回之前,返回调用函数会进行什么样的优化?
-
@CancerSoftware Tail call optimization
-
@Tom van der Woerdt:向你致敬!
标签: c function procedures