C/C++

memsetの第2引数のc(int型)は文字を想定しているらしい

MSDNライブラリのmemset、wmemset (CRT)のページでは、はっきりと「c 設定する文字。」と書かれている。string.hで定義されているのも納得。Manpage of MEMSETでは特に文字とは書いてないけど。今日、floatな配列をmemsetで初期化しようとして気づいた。

pthreadはデタッチ状態になるまでリソースを解放しない

pthread_create関数で10万回くらいスレッドを作って色々やらせるコードを書いていたら、32745本目でスレッドが作れなくなって困っていた。それだけではなく、そのプログラムは大量のメモリ(2GB以上)を食いつぶしていた。どうやら終了したスレッドが解放され…