豊福@パパイヤです。 前田さん >>> ・似た概念がありますか。(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