* zthread導入メモ [#jb7d0c98] #contents ** なぜzthread? [#tad9120c] SDLのスレッドでは機能不足なので クロスプラットフォームでよさげなzthreadを採用。 ** VCでビルド [#u53078a0] src以下のcxxファイルをコンパイルするだけでおっけい。 もちろん、includeにパスははりましょう。 一カ所、通らなかったので修正。 src/win32/ThreadOps.cxx HINSTANCE hInst = ::GetModuleHandle("Kernel32.dll"); を HINSTANCE hInst = ::GetModuleHandle(L"Kernel32.dll"); に。 ** XCodeでビルド [#a5b7192e] やっぱりsrc以下のcxxファイルをコンパイルするだけでおっけい。 もちろん、includeにパスははりましょう。 ** バグ修正 [#u93b662f] ThreadQueueのデストラクトでTTSクラスにアクセスするんだけど、 両方とも無名空間の変数らしく、デストラクトの順番が不定。 で、TTSが先にデストラクトされてからThreadQueueのデストラクトが呼ばれて死んでしまう。 ので、デストラクトの順番が一定になるように修正。(r251) ** 感想 [#o7f45db2] 久しぶりにすばらしいライブラリに出会えた気がする。 ドキュメント、サンプルコード、コードの可読性、どれにおいても100点満点に近い。 Runnnableをdeleteするところだけいただけなかったかなぁ。 そういうポリシーならしょうがないけど。 |