Encounter Knot 800

タイトルとかけ離れたモチベーションで華麗(※注 決して早い訳ではない)な更新頻度を発揮するかもしれない趣味的ブログ?

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

スポンサー広告 |

スタックオーバーフロー

下記のようなプログラムを書いていて、

#include
#define N 250

int main()
{
  double a[N][N];
  (以下略)
}

define のところでNの値を2500にすると、エラーで落ちていた。(コンパイルはできた)
Nの値を小さめにすると問題ないので、メモリ関係でなにかなっているとは思ったが、mallocとかを使えば問題ないのではないかと思い、が、面倒なので利用せず、ググってたら、

スタックオーバーフロー

だったようです。研究室仲間も101×101の二次元配列を大量に宣言してたら落ちてたようで、これに該当してたようだ。 VisualStudioは標準で1MBらしい。

250×250のdoubleだと、(doubleを64ビットとする)
250×250×64÷8=500000
500000÷1024=約488KBなので辛うじてセーフだが、

2500×2500だと、100倍になるので約4.88MB……こりゃオーバーするわww

で、解決方法は、main文の外に書いてやると良いそうです。(グローバル変数扱い?)

上のプログラムを書き換えるとこうね。
#include
#define N 2500

double a[N][N];

int main()
{
  (以下略)
}

エラー吐かなくなりましたw
別の研究室の先生に解決法聞いたっていう。
スポンサーサイト
プログラム的なもの | コメント:2 | トラックバック:0 |

Rarrrrrrrrrryyyyyyyyyyyy

で、更新が一ヶ月以上空いたわけだが。
とりあえず、以下が前のラリーの写真である。

インプレッサEvoXEvoVII
civic?Fitcolt

一日目は画像サイズが微妙だったのとシャッター速度が遅かったためのブレで良くない写真ばかりなので割愛

なんていうか、目の前を爆音(というほどでもないが)で走っていってカーブでタイヤを鳴らしつつ、ブレーキも鳴かせながら走っていく様は壮観でした。
速度が速度なのでどこぞのサーキットのホームストレートで聞くより音は小さいはず。



そうそう、今住んでいる地方にさらに後2年、計7年住むことが決定いたしました。


閑話休題。

以下 一日目の展示の痛車。 注意されたし。
Rarrrrrrrrrryyyyyyyyyyyy…の続きを読む
きっとこれは旅行記 | コメント:2 | トラックバック:0 |
| HOME |
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。