スタック領域を増やそう
最近のPCには2GBや8GBといった大量のメモリが搭載されていて、画像を大量に扱うようなシミュレーションも楽にこなすことができるようになりました。
が、実際に大量のメモリを使うにはmalloc()等でヒープ領域にメモリを確保してやる必要があります。グローバルな配列などでスタック領域に100MBとか取ろうとするとSegmentation Faultが出るはずです。 Ubuntu等のデフォルト設定ではスタック領域が8MBしかないんですよね。
というわけでmalloc()使ったプログラムに書き換えるのが面倒な人のためのメモ。
Linuxでスタック領域を増やすにはulimitコマンドを使います。
ulimit -s
で現在のスタック領域の大きさが、
ulimit -s 数値
でスタックの大きさが設定できます。ここにunlimitedと指定してやると無制限になります。ようするに
ulimit -s unlimited
とやればグローバル変数で大きな配列を宣言したりできるわけです。ちなみにコマンドを打ったターミナル上でしか有効にならないので注意。
まあ、自分は最近Javaしか使ってないんで関係なかったりしますが。