トップページ > プログラム > 2015年05月26日 > PNafWbTb

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

10 位/177 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000013000004



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
C言語なら俺に聞け(入門編)Part 127©2ch.net

書き込みレス一覧

C言語なら俺に聞け(入門編)Part 127©2ch.net
972 :デフォルトの名無しさん[]:2015/05/26(火) 17:40:11.45 ID:PNafWbTb
>>968
分割したのは関係ない。
float test[10][44100]でもたぶん無理。
動的確保かどうかだろう。
C言語なら俺に聞け(入門編)Part 127©2ch.net
978 :デフォルトの名無しさん[]:2015/05/26(火) 18:31:37.06 ID:PNafWbTb
float test[441000];がダメで、
float * test = new float[441000];だと出来るのは、
C言語が管理するメモリ領域を使い切るかの差だろう。
後者だと、C言語が管理するメモリ領域の使用量は4か8バイト程度で、前者だと4*441000バイト程度だろう。
スタックオーバーフローってのになるんだろ。
コンパイルオプションで回避できるかもしれないが、動的確保したほうが安全。
C言語なら俺に聞け(入門編)Part 127©2ch.net
979 :デフォルトの名無しさん[]:2015/05/26(火) 18:34:12.33 ID:PNafWbTb
スタックオーバーフロー - Wikipedia

スタックオーバーフローの一番の原因は再帰による無限ループである。

次によくある原因としては、スタック上に巨大な配列を確保しようとすることである。

コールスタックに格納できる情報量には上限があるため、巨大な局所変数はコールスタックに格納するのではなくヒープ領域などを明示的に利用すべきである。

さらに他の原因として、関数呼び出しの階層数が深すぎる場合などがある。

スタックオーバーフローの原因となりうるコーディング技法は比較的限定されており、市販ソフトウェアでこれが発生した場合はそのソフトハウスの開発能力が極めて低い事を自白するようなものである。
C言語なら俺に聞け(入門編)Part 127©2ch.net
981 :デフォルトの名無しさん[]:2015/05/26(火) 18:52:40.85 ID:PNafWbTb
C言語編 - メモリスタック
http://www.g-ishihara.com/c_mm_01.htm


2.4 スタックとスタックサイズ (Oracle Solaris Studio 12.2: OpenMP API ユーザーガイド)
https://docs.oracle.com/cd/E19205-01/821-2493/aewcf/index.html



/F (スタック サイズの設定) Visual Studio 2013
https://msdn.microsoft.com/ja-jp/library/tdkhxaks.aspx


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