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
事前に 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 をインストールするのは、ちょっと苦労するはず。
メモ。
HandBrake is an open-source, GPL-licensed, multiplatform, multithreaded DVD to MPEG-4 ripper/converter, available for MacOS X, Linux and Windows.
AfxBeginThread()
で生成したスレッドが終了したか否かを見たい
普通、返却値のメンバ CWinThread::m_hThread
のシグナル状態を見るわけだけど、
CWinThread::m_bAutoDelete
が TRUE
だとそんな単純じゃない。
なので、AfxBeginThread()
実行後に DuplicateHandle()
で
それ専用の HANDLE
インスタンス (って表現で良いのかな?) を新たに作り、
そのシグナル状態を見るのが良さそうだなと思う。
もちろん AfxBeginThread()
の引数 dwCreateFlags
には
CREATE_SUSPENDED
を入れて、DuplicateHandle()
実行後に
CWinThread::ResumeThread()
を使うことになるはず。
これらの処理はまとめて一つの関数にしておく方が便利。
経験上、ここら辺は必要を感じなければあまりしっかり処理しなくても良いと思ってしまう。 「手抜きしといて問題が発生したら対応」程度に考えてしまうなぁ…。 良くない事かもしれないけど。
前職で CreateThread()
を使うベテランがいた。
僕もそれで良いと思ってたんだけど、
ランタイム周辺で制約が発生するのは嬉しくない場合もあるので、
その時はややこしいけど仕方ないって感じで…。
MFC, Win32 API の話題なんて久々。