
W^X $B$H(B !W


W^X $B$N$[$+$K$bM%$l$?%Q!<%_%C%7%g%sJQ995!G=$,$"$k!#$3$3$G$O(B !W $B$K$D$$$F@bL@$9$k!#(B
void
exit(int status)
{
        register struct atexit *p;
        register int n;

        for (p = __atexit; p; p = p->next)
                for (n = p->ind; --n >= 0;)
                        (*p->fns[n])();
        if (__cleanup)
                (*__cleanup)();
        _exit(status);
}
__atexit $B$O!"4X?t%]%$%s%?$N(B *$B=q$-9~$_2DG=(B* $B%j%s%/(B $B%j%9%H$G$"$k(B

$B967b<T$,%a%b%jFb$NG$0U$N>l=j$r>e=q$-$G$-$k>l9g!"%W%m%0%i%`$,B8:_$9$l$P<+?H$N%3!<%I$r<B9T$G$-$k(B

atexit(3) $B$NJQ99(B: $B=q$-9~$_IT2D$K@_Dj$5$l$?(B ($B4X?t%]%$%s%?$X$N(B) $B%Z!<%8(B $B%j%9%H$rJ];}$9$k(B

__cleanup $B$O(B stdio $B$K$h$C$F;HMQ$5$l$k(B *$B=q$-9~$_2DG=(B* $B%]%$%s%?$G$"$k(B
(stdio $B$,;HMQ$5$l$J$$>l9g$O!"%j%s%/$r2sHr$9$k(B)
stdio $B$,>e5-$N(B atexit(3) $B$NJQ99$r;HMQ$9$k$h$&$KJQ99(B

$B$3$N%]%j%7!<JQ99$r(B !W $B$^$?$O(B "$B=q$-9~$_IT2D(B" $B$H8F$V(B
$B$3$N<jK!$O$=$NB>$N%i%$%V%i%j(B $B%3%s%]!<%M%s%H$G$b;HMQ$G$-$k(B
$B4pK\E*$KL5NA(B

