おそらく、これには派手な用語があります。このコードがあるとしましょう:
void a(){
b();
}
void b(){
c();
}
void c(){
a();
// do something
if (FLAG_COMPLETE){
return;
}
}
問題は、FLAG_COMPLETE が上がるまで a->b->c->a->b->c になることです。その後、これらすべての呼び出しをバックオーダーで追跡します。呼び出し先から呼び出し元関数への戻りを回避する方法はありますか? 私はアセンブリでこれを行うのが非常に簡単であることを知っています。
C++ CLI を使用しています。ループ内で関数を呼び出して、スタックのオーバーフローを回避したい。