豊福@パパイヤです。

前田さん
>>> ・似た概念がありますか。(C の set/longjmp みたいなもの?)
>>
>> 似てるんじゃないかと思いますが、自分はlongjmpを使いこなしてないので
>> わかりません。
> 
> longjmpとの大きな違いは、call/ccはスタックが深くなる方向にもジャ
> ンプできるということです。

  なるほど、そういう違いがあるのですか。確かに
    #include <setjmp.h>
    jmp_buf a;
    int foo()
    {
        if (setjmp(a) == 0) {
            printf("function call from main\n");
            return 0;
        } else {
            printf("jump from main\n");
            return 1;
        }
    }
    int main() { if (foo() == 0) longjmp(a, 1); return 0; }
は
     Exception: STATUS_ACCESS_VIOLATION
で落ちました。

  (大きい違いですが)それを除けば似たようなもんだと思って
よいのですか。

  それと別のメールでも質問しましたが、保存される環境の中に
グローバル変数も入るのでしょうか。
---
			豊福@パパイヤ
			unbound / papaya.juice.or.jp
			toyofuku / juice.or.jp