library
AO_v1とAO_v2逆じゃない?証拠 (gdb) p/x *addr $4 = { AO_whole = 0x895590c3c908458b, AO_parts = { AO_v1 = 0xc908458b, AO_v2 = 0x895590c3 } }下でテスト通っちゃうんだよな。 AO_INLINE int my_AO_compare_double_and_swap_double_full(volatile AO_do…
昨日twitterで騒いでいた件まとめ。問題解決に7時間つぶれた…。Leopardで有効化されたucontextですが、sizeof(ucontext_t)がAPIとApple側実装とで異なっている為にgetcontext()やswapcontext()を使うとメモリ破壊を引き起こします。詳細は/usr/include/sys/…
G4 Dualが手に入ったので早速portする。ucontextの内部構造体にアクセスしてうにゃうにゃな部分がppcだとうまく動かないらしいので、setjmp()による実装にfallbackしといた。 あとgcc拡張の__threadキーワードもppcだとサポートされてないみたいなので、pthr…
いや、おそらく10.3.9のsdk入れればそのまんまビルド可能なんだろうけど…Makefile.osxに当ててください。 http://websvn.nyaxtstep.com/viewvc.cgi/3rdparty/FreeImage393.Makefile.osx.leopard.patch?view=log
Io Languageで使われている最新版コードをもとに作り直しました。http://websvn.nyaxtstep.com/viewvc.cgi/3rdparty/libcoroutine/ svn://home.nyaxtstep.com/svn/3rdparty/libcoroutine/やってること: VisualStudio 2005用solutionファイル&Makefile.am M…
http://www.boost.org/regression-logs/cs-win32_metacomm/doc/html/foreach.htmlこれは便利ですね。ひたすら使いまくってます。ただ、速度がでるかどうかが心配。少なくとも多くのコンパイラでunrollingは無効化しそう。
Boost Test Libraryを使って書いたテストで謎のメモリリーク(最適化レベル0の癖に関数をインライン化すると消える)が起きたので、1.34.1にアップデートしました。なぜかコレでリークが消えました。boostのバグだったのかな?1.34ではテスト関連の関数名マ…
libnetdistとの比較用にGridRPC実装を導入する試み。 Ninf-G Win実装なし。 Globus Toolkitに依存するらしいのだが、これがJava&PostgreSQLで書かれていて導入が大変。あきらめる GridSolve VisualStudioではクライアントしかビルドできないらしい。サーバ…
via FumuFumu-Qhttp://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2271.htmlintrusive container実装とかfixed_vectorとかpush_back(void)とか、他にもSTLに違和感を感じているひとがいたみたい。
これは恥ずかしい。既に公式であったのか。http://www.dekorte.com/projects/opensource/libCoroutine/自前バージョンから移行せねば。追記: 移行するかと思ったけれど、中身をよく見るとbasekitという謎のCライブラリに依存したまま、libcoroutineディレク…
http://www.boost.org/libs/concept_check/concept_check.htmテンプレート型に対するアサーテーションを提供。あとで書く。
http://opensource.adobe.com/gil/index.htmlboostに統合予定の画像処理ライブラリ。nytrの依存ライブラリが多すぎなので、FreeImageからこちらに移行するかも。
EBOについてはkmonos.netさんの解説が非常に参考になります。 class A : boost::noncopyable {}; class B : boost::noncopyable { A a; }; now sizeof(B)==2 instead of the expected 1. To fix it, we have to change the interface (or at least allow an …
VIVERのコード読んでたらでてきた。(GPLなので大丈夫)http://www.boost.org/libs/ptr_container/doc/ptr_vector.htmlえええええええ。今までわざわざD-torでdeleteするコード書いてたよ。しかし、VIVERの古橋さん(d:id:viver)は私と同い年(or一才差)だと思…
これは困った。COLLADA DOMを使っているのですが、Material数が多いファイルのロードに恐ろしく時間がかかる模様。 10分待ってみても終わりませんでした。仕方ないので独自形式フォーマットをでっち上げる予定。
すげー。
こっそり入れ替えました。amd64でSEGVでるけどとりあえず無視。
リファレンスをでっち上げてみる試み。 Coro* Coro_new(void); Coro構造体をメモリ上に確保し、初期化します。 void Coro_free(Coro* self); Coro_newでメモリ上に確保されたCoro構造体を破棄します。 void* Coro_stack(Coro* self); Coroスタックへのアクセ…
d:id:shinichiro_h:20041019パッチ(id:shinichiro_hさん作)を試してみるも、Intel Macではうまくいかない模様。パッチの元ネタであるIo言語のVMソースコードを探っていると、なにやらCoroutineライブラリらしきものが。 http://www.iolanguage.com/scm/git…
動かない。困った。
てきとーなテストコード書いて問題なかった。somari(Gentoo Linux / Linux 2.6 x86_64)でテスト。あとでpersianのwin32環境でもテストすること。
5分で両方のAPIリファレンスを流し読みしただけなので、あんまり参考にしないように。Pthはpthread互換APIを目指してるようなかんじ。APIがみょーに多い。システムコールがスレッドの中で呼ばれることを気にしている様子。(あの悪しきスレッドキャンセルへ…
タスク定義をどうするかが問題。なんとかcontinuation(継続)をC++でかけないものか。必要なのは、いわゆるプログラムカウンタ(+レジスタ群)の保存と、スタック上のローカル変数データの保持。FSMモデルならなんとかかけます。(参考:d:id:yaneurao:200…
boost::threadにはスレッドキャンセルの仕組みがない。どうするか やっぱりZThreadを使う 最新のGCCでオプション無しでコンパイル不可、もうメンテナンスがされていない boost::threadのラッパーを作り、将来的に自前でpthreadをいじる threadクラスのデスト…
すげぇ。 template<typename T> inline T FNTNetPacket_safecast(FNTNetPacket* p) { if(p->getType() != boost::remove_pointer<T>::type::msgtype) FECTI_THROWEX(FEX_SOCKET, FEXS_SOCKET_FECTIP, "invalid cast"); return reinterpret_cast<T>(p); } メンバ関数テンプレー</t></t></typename>…
ZThreadから移植中。詰まった。追記:boost::thread_specific_ptrで無理やり解決。
http://boost.cppll.jp/HEAD/libs/pool/doc/index.html自分で書く手間が省けた。
久しぶりのQt。といっても今まで触ってたのはQtopiaだが。いろいろQt4になって変更があるみたい。
長いので分割。試行錯誤しながらで所要時間1時間半。 下の手順だとアウト。ハメラレタ。MSYSとMinGW同じディレクトリにインストールするとダメなんて知らないよ。 やり直さねば。 修正しました。動くようにはなった。でもMSYSとMinGWを同じディレクトリにイ…
GPLバージョンだと無理みたい。Eclipse+MingW32という手もないわけではないが、とりあえず使い慣れたFOXで行くことにする。