まつもと ゆきひろです.
In message "[ruby-list:866] Re: stack over flow?(ruby1015.lzh)"
on 96/10/18, WATANABE Hirofumi <watanabe / ase.ptg.sony.co.jp> writes:
|渡辺@ソニーです.
|原さん:
|:で、階乗を計算させると、n = 191 ぐらいで、Segmentation fault
|:を起こします。BOW でも n = 1500 ぐらいはいけるので、これは
|:小さすぎるように思いますが、どこかに問題があるのでしょうか。
|
|djgpp 版の stack は 1MB に設定してあります(main.c で).
|recursive call の実装がどうなってるかわからないけど, これで
|足りないとするとどうしよう? もっと増やしてもいいけど, やっぱ
|りどこかで SEGV になります.
ふーむ,確かにrubyは中間木インタプリタの実行を全部再帰でやっ
ちゃってるんで(手抜き)スタックを消費しがちではあるのですが.
BOWで大丈夫なものがだめというのも分からない気もします.
私のところにdjgppがないためSEGVの場所が分からないのが痛いで
すね.
まつもと ゆきひろ /:|)
#まあ,階乗なんて特殊な例は動かなくても実害は無いんですけど….