トップページ > プログラム > 2015年11月06日 > iLvLfKdX

書き込み順位&時間帯一覧

4 位/203 ID中時間01234567891011121314151617181920212223Total
書き込み数00000001003010010020021011



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net
Access VBA 質問スレ Part1

書き込みレス一覧

なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net
807 :デフォルトの名無しさん[sage]:2015/11/06(金) 07:54:44.19 ID:iLvLfKdX
>>806
やめとけ。
スタックフレームは、言語が用意した単なるスタックだ、を理解できてないんだ。
その辺突っ込んでも、実装はおいといて、概念としてって言われるぞ。

本質、実装、概念を蝙蝠のように使い分けてくれるさ。
ヒープに確保したスタックが、とか言い出すしね。
ヒープが溢れる溢れないは関係ないようだ。
ヒープもいくらでも拡張できるわけでもないのにね。

ヒープが下から、スタックフレームが上から、同じメモリを食ってくんだから。
ヒープが溢れると、スタックフレームも溢れてるし、
スタックフレームが溢れるという事はヒープも溢れてる。
実際問題全く同じなのに。
なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net
809 :デフォルトの名無しさん[sage]:2015/11/06(金) 10:09:10.72 ID:iLvLfKdX
>>808
なんだそりゃ。
そりゃマルチスレッドなら、スレッド毎にスタックフレーム確保するだろ。
それこそ、勝手スタックと同じでな。
疑問に思ったら、メイン関数で再帰して何回目で死ぬかと、
スレッド2つ起こして、そのスレッド内で再帰呼び出し呼んで何回目で死ぬかを比較して見ればいいよ。
ついでに/procの中身も見ればわかりやすい。

スタックの成長方向に関しては、だいたい下位方向だよ。
だからバッファオーバーランで任意の関数を呼ぶって攻撃が成り立つ。
Access VBA 質問スレ Part1
478 :デフォルトの名無しさん[sage]:2015/11/06(金) 10:26:38.77 ID:iLvLfKdX
>>477
重複業があるんじゃないの?
目視で見てるのは違う行とかないよね。
なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net
810 :デフォルトの名無しさん[sage]:2015/11/06(金) 10:47:43.57 ID:iLvLfKdX
あー、もしかしてあれか。
ヒープに確保したスタック、ってのは、ヒープに参照を確保してメモリのどこかに確保したスタック、なのかな。
そりゃそのスタックはアウトオブメモリまで使えるわな。
違う機械語にもなるだろうな。多段の間接アドレッシングするクソ遅くて不安定な機械語に。

それでも根本的解決をせずに、マージン確保して死ぬのを先延ばしにしてるだけだけど。
まともな解法のためにまともに組んだ再帰ではそんなこともないし、
そうではない再帰の事言ってるんだろうけど、それは「ループは無限ループする可能性があるから危険」くらい暴論。
なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net
813 :デフォルトの名無しさん[sage]:2015/11/06(金) 12:56:48.83 ID:iLvLfKdX
>>811
迷信ではなくて、単に環境依存だろ。
んなもんリンカで決まるし、ましてやWindows7ならASLR効いてるんじゃねーの?
基本知らないで話してるわけでもあるまいし、なんか釣ってるの?
なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net
822 :デフォルトの名無しさん[sage]:2015/11/06(金) 15:44:51.97 ID:iLvLfKdX
>>814
そらそうだろう。
グローバル変数は.dataないし.bssに落ちて、
関数は.textに落ちて、そいつらはその辺のアドレスになるだろ。
メインスレッドのスタックは俺の環境でもその辺で、かつエントリポイントのヒープもその辺だわな。
固定サイズ、って、どこから固定サイズかわかってるのかなぁ。
デバッガで見てみりゃすぐわかるのに。
なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net
826 :デフォルトの名無しさん[sage]:2015/11/06(金) 18:26:57.75 ID:iLvLfKdX
まー、逆だったな。それは認めるわ。
ヒープが溢れるという事はスタックフレームが溢れるのと同じ事、かな。
virtualallocやらしてりゃ別だけど。

要はスタックフレームは無視して、ヒープに勝手にスタック作ってそれを使って処理すれば再帰は要らなくて、
ループで処理出来る、って言いたいんだろうね。
どう考えても向いてない事も、ループでオッケー、と。
なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net
827 :デフォルトの名無しさん[sage]:2015/11/06(金) 18:28:00.11 ID:iLvLfKdX
>>825
ドヤってる訳じゃないけど。
自分で見てみれば?
なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net
837 :デフォルトの名無しさん[sage]:2015/11/06(金) 21:08:34.74 ID:iLvLfKdX
>>829
はー、なるほど。
今デバッガでステップで見てたけど、今のOSは賢いな。素直にこれは勉強になったわ。

やっぱCしなきゃならんな。
ずっと割と特殊な言語してるからな。
なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net
838 :デフォルトの名無しさん[sage]:2015/11/06(金) 21:09:42.32 ID:iLvLfKdX
>>834
言語じゃなくて処理系だけどあるよ。
なあ、再帰関数好きな人いる? パート2 [転載禁止]©2ch.net
841 :デフォルトの名無しさん[sage]:2015/11/06(金) 22:29:45.01 ID:iLvLfKdX
>>839
どんな意図?


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。