«前の日記(2007.03.17 / Saturday) 最新 次の日記(2007.03.20 / Tuesday)» 編集

Hena Hena Nikki

2003|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|10|11|12|
2012|01|02|03|04|05|06|07|08|10|12|
2013|01|02|04|06|

2007.03.18 / Sunday [長年日記]

* [computer] GNU which 2.16 を Mac OS X 10.4 にインストールする

CFLAGS はお好みで。

$ wget -c http://ring.nict.go.jp/archives/GNU/which/which-2.16.tar.gz
$ zcat which-2.16.tar.gz | tar xvf -
$ cd which-2.16/
$ ./configure
$ make
$ sudo make install

* [computer] w3m 0.5.1 を Mac OS X 10.4 にインストールする

事前に OpenSSL, gettext, iconv, Boehm-GC あたりを入れておくと吉。

$ wget -c http://www.sic.med.tohoku.ac.jp/~satodai/w3m/src/w3m-0.5.1.tar.gz
$ zcat w3m-0.5.1.tar.gz | tar xvf -
$ cd w3m-0.5.1/
$ ./configure --enable-japanese=U --disable-mouse --disable-nntp
$ make
$ sudo make install

CFLAGS はお好みで。

最新の Xcode 環境で Boehm-GC library をインストールするのは、ちょっと苦労するはず。

* [computer] HandBreak

メモ。

HandBrake is an open-source, GPL-licensed, multiplatform, multithreaded DVD to MPEG-4 ripper/converter, available for MacOS X, Linux and Windows.

* [computer] AfxBeginThread() で生成したスレッドが終了したか否かを見たい

普通、返却値のメンバ CWinThread::m_hThread のシグナル状態を見るわけだけど、 CWinThread::m_bAutoDeleteTRUE だとそんな単純じゃない。 なので、AfxBeginThread() 実行後に DuplicateHandle() で それ専用の HANDLE インスタンス (って表現で良いのかな?) を新たに作り、 そのシグナル状態を見るのが良さそうだなと思う。 もちろん AfxBeginThread() の引数 dwCreateFlags には CREATE_SUSPENDED を入れて、DuplicateHandle() 実行後に CWinThread::ResumeThread() を使うことになるはず。

これらの処理はまとめて一つの関数にしておく方が便利。

経験上、ここら辺は必要を感じなければあまりしっかり処理しなくても良いと思ってしまう。 「手抜きしといて問題が発生したら対応」程度に考えてしまうなぁ…。 良くない事かもしれないけど。

前職で CreateThread() を使うベテランがいた。 僕もそれで良いと思ってたんだけど、 ランタイム周辺で制約が発生するのは嬉しくない場合もあるので、 その時はややこしいけど仕方ないって感じで…。

MFC, Win32 API の話題なんて久々。


  • この日記には本日 名の方が訪問してくださっているようです。 また、昨日は 名の方が訪問してくださったようです。
  • この日記の更新情報の取得には antenna.lirs を利用するのがおすすめです。