2008-12-01から1ヶ月間の記事一覧

CからC++のライブラリを呼び出す

C++

大昔からある話だが,復習のためにやってみた.STLのlistをCから使ってみる.ポイントは, C++ でCから呼び出すためのラッパを書く ラッパ関数のプロトタイプ宣言は extern "C" で宣言する このとき,C++で読まれる場合とCから読まれる場合を__cplusplusで切…

recursive mutex

C++

mutexはスレッド間の排他処理をするための機構だが,一般的なthreadライブラリのデフォルトのmutexには大きな問題がある.あるmutexを既にlockしているthreadが再度同じmutexをlockしようとするとブロックしてしまうのだ.たとえば,thread bufferの例で,em…

boost lambda

C++

C++のライブラリ集boost.スレッド周りで使ってみようかと思っていたのだが,マニュアルを見ていたらlambdaとかあるので,思わずいじってしまった.lambdaとはまあ,いわゆる無名関数.C++ではSTLで関数オブジェクトを使うようになっているわけだが,関数オ…

boost thread

C++

lambdaに寄り道したが,threadのほう.condition variableとmutexを使って共有bufferを作ってみる. #include <iostream> #include <string> #include <boost/thread.hpp> #include <cstdlib> using namespace std; class buffer { list<int> queue; boost::condition_variable cond; boost::mutex mut; public:</int></cstdlib></boost/thread.hpp></string></iostream>…

JavaFX 1.0 変更追記

朝書いたとおり,1.0正式版で結構変わってしまったJavaFXだが,その後いじっていたらもっとインパクトのある変更があったことが判明. デフォルトアクセス制限の変更 Javaには,public/protected/privateという3つの修飾子があって,メンバがどこから参照可…

JavaFX 1.0 正式リリース

こちらで知ったのだが,つい先頃,JavaFX の1.0が正式にリリースされた.NetBeans 6.5で使えるようになっている.めでたい.が!なんと驚くべきことに,ベータリリースと文法やらクラス階層やらが大きく変わっている.なんなんだ...というわけで,これまで…

集合知プログラミング

Toby Segaran 良書.多数のデータからなんらかの情報を導き出す,いわゆるデータマイニングの入門書,ということになるのだけど,よくある入門書とちがって,非常に実践的.Pythonによる実際のアルゴリズムの実装だけでなく,Web 上のデータを取得して,アル…

プログラミングGauche

Kahuaプロジェクト Lisp 方言の一つである Scheme の1実装であるGaucheの入門書.「Schemeの1実装」と書いたが実は標準Schemeとはちょっと違っていて,私のキライな文字列の中に変数参照を書いておくて置換される文字列補間や,リテラルとしてのレギュラーエ…

bindの謎 ふたたび

JavaFXでグラデーションを使ったアニメーションを作ろうとしてbindの罠にはまった.こんなアニメーションをつくりたくて,LinearGradationのオフセットを制御して実現しようとしたのだが,どうにもうまく行かない.いろいろ調べてちょっと分かったので書いて…