トランポリン

トランポリンというものに若干興味があり調べてみたけどよくわからない、、、setjmp/longjmpつかえばできそうな雰囲気を感じたけど、トランポリンの概要自体ちゃんと理解できているかあやしい。なんでも継続のところに書いてある説明によると

一般には、関数func1から関数func2を直接呼べない場合に「func2を呼ぶという継続」をスタックにプッシュして、 func1から一度抜けるテクニックを「トランポリン」と呼ぶ。 func1の呼び出し元は、戻って来て欲しい場所を継続としてスタックに置いておいたのだが、func1はその上に一段ジャンプするクッションを噛ませて、あたかもトランポリンの上で跳ねるようにして func2へと制御を移すわけだ。

とあるが、具体的にはどうやるんだろう。どっかに適当なサンプルコードとかおちてないかな。

そもそもsetjmp/longjmpつかったことないっていう。そこからはじめるかなー。