ショッピングモール  レギュラー(その他)  インスタント  コーヒー(ソフトドリンク)  ココア


掲示板利用宣言

 次のフォームをすべてチェックしてからご利用ください。

 私は

 題名と投稿者名は具体的に書きます。
 課題の丸投げはしません。
 ソースの添付は「HTML変換ツール」で字下げします。
 返信の引用は最小限にします。
 環境(OSとコンパイラ)や症状は具体的に詳しく書きます。
 返信の付いた投稿は削除しません。
 マルチポスト(多重投稿)はしません。

掲示板1

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    記事検索    ログ    タグ一覧

No.5256

静的領域の上限
投稿者---初心者(2006/01/15 17:53:47)


既に領域破壊を行っているプログラムがあります。
int型のグローバル変数配列を9000程で宣言すると
領域破壊を起こしてはいますが、正常終了します。
しかし、10000程で宣言するとエラーが発生します。
おそらく原因は静的領域の上限を超えたためだと
考えていますが、静的領域の上限を調べる方法がわかりません。
誰かご教授して頂ければと思っています。宜しくお願いします。


この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:静的領域の上限 5257 επιστημη 2006/01/15 18:16:49


No.5257

Re:静的領域の上限
投稿者---επιστημη(2006/01/15 18:16:49)


>既に領域破壊を行っているプログラムがあります。

どれだけ確保できるか調べてハラハラしながら使うより、
そんな領域を必要としないよう改めるのが先決。

int table[デカい値];

を、
int* table;
...
table = (int*)malloc(デカい値 * sizeof(int));
に取り替えるだけで相当の余裕が生まれます。

# 使い終わったらfreeを忘れずに



この投稿にコメントする

削除パスワード

No.5258

Re:静的領域の上限
投稿者---初心者(2006/01/15 20:31:16)


>>既に領域破壊を行っているプログラムがあります。
>
>どれだけ確保できるか調べてハラハラしながら使うより、
>そんな領域を必要としないよう改めるのが先決。
>
>int table[デカい値];
>
>を、
>int* table;
>...
>table = (int*)malloc(デカい値 * sizeof(int));
>に取り替えるだけで相当の余裕が生まれます。
>
># 使い終わったらfreeを忘れずに

επιστημηさん、ありがとうございます。
本来はそう使うべきなのですが、今の問題は
なぜ、配列の要素数を9000から10000に増やしただけで
エラーが発生するのかを説明しなさいって問題なのです。
元々、ソースが領域破壊をしていますので、9000、10000
以前の問題なのですが...
また、根拠となるデータを取得しなければいけませんので、
静的領域の上限を求めたかったのです。
宜しくお願い致します。


この投稿にコメントする

削除パスワード

No.5259

Re:静的領域の上限
投稿者---επιστημη(2006/01/15 20:52:13)


>また、根拠となるデータを取得しなければいけませんので、
>静的領域の上限を求めたかったのです。

そんなんはコンパイラ/リンカがどこまで許すかでしょうから、
コンパイラのマニュアルを丹念に調べれば説明がつきそうです。



この投稿にコメントする

削除パスワード

No.5260

Re:静的領域の上限
投稿者---初心者(2006/01/15 21:16:11)


>>また、根拠となるデータを取得しなければいけませんので、
>>静的領域の上限を求めたかったのです。
>
>そんなんはコンパイラ/リンカがどこまで許すかでしょうから、
>コンパイラのマニュアルを丹念に調べれば説明がつきそうです。

そうですか。もう一度調べて出直してきます。
ありがとうございました。


この投稿にコメントする

削除パスワード

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    記事検索    ログ    タグ一覧




掲示板提供:Real Integrity