echo $? ==> 139

どもっす。
パソばっかりやっていると目が疲れます。
池谷教授もその著書で,脳は疲れません,疲れるのは目ですと書いていますが,
まさにその通りだと思うわけで。同時に,脳も情報整理のために睡眠を必要とするので,
やっぱり脳も疲れるのかなぁなんて思うわけで。


で,目が疲れたときにはどうするか? めぐリズムなんていう
素敵商品もありますが,1枚計算,100円くらいした記憶がある。
なので,ワタシは,ジェル状で,レンジでチンして使える暖め機能付き
アイマスクみたいなのを使っています。冷やしてもいけるやつです。
これの青版。今はピンクしかないみたいね。
いいですよ〜。30秒くらいレンジで温めて5分くらいこれ装着して
ぼーっとしたり,音楽聞いたりすると非常にリフレッシュできます。
おすすめです。

エナジア HOT&COLDアイマスク
エナジア
売り上げランキング: 12786

本題

テストに通って緑が見えるのをいいことに調子ぶっこいて,
テストデータの配列のサイズを1万にしてテストしたら,止まった。
ごりごりといって stackdump を排泄したわけでもない。
もっかいテストして,echo $? したら 139 だった。
139 って言われても・・・知らんし。いさく?とかわけのわからんことやってみたり。

数分後気付いた。
man errno, --> errno.h を開く --> sys/errno.h を開く。
一部抜粋。

#define ENOTSUP 134		/* Not supported */
#define ENOMEDIUM 135   /* No medium (in tape drive) */
#define ENOSHARE 136    /* No such host or network path */
#define ECASECLASH 137  /* Filename exists with different case */
#define EILSEQ 138
#define EOVERFLOW 139	/* Value too large for defined data type */

うーん。定義されているデータに対してなんかの値がでかすぎ?
原因は,多分だけど,配列のサイズに合わせてデータの幅を広げる必要があったから,
rand() % 10000 に変更した部分が原因。
でもなんで?
なにかワタシがしらないトリビアがありそうなにおいがぷんぷんするでやんす。
・・・。


あーわかった。ほんまに今わかった。全然見当違いだった。
やはり原因はワタシだ。
char の配列のサイズを決めうちしてたからだ・・・。あらまぁ,お恥ずかしいこと。
作成した値を記録しておくためにcharの配列を使ってビット単位で記録しておいたんだけど,
そのchar の配列サイズを変更してなかった。
ちゃんちゃん。(いいのかこんなオチで)