2010-01-01から1年間の記事一覧

FreeBSD on virtualbox インストールメモ

とりあえず gnome 入れて firefox 動くようになったのでメモ。

テンプレート版 noncopyable を使うときは要注意

コピーを禁止するクラスを定義する際に Boost の noncopyable クラスや同様の自作クラスを使うことは多いと思う。 Boost の noncopyable は継承するだけで OK という手軽さがいいんだけど、More C++ Idioms/コピー禁止ミックスイン(Non-copyable Mixin) によ…

omake: Symbol `FamErrlist' has different size in shared object, consider re-linking

OMake を使うと下のような謎のエラーが出る。 omake: Symbol `FamErrlist' has different size in shared object, consider re-linking ビルドはちゃんとできているようだけど、どうも気持ち悪いのでなんとかしたい。 単刀直入に言うと、下記コマンドで直っ…

汎用(?)OMakefile を作ってみた

autotools(autoconf/automake/libtool) の設定のあまりの複雑さに挫折してしまった人にとって、OMake は救世主といっても過言ではないはず。 OMake とはなんぞやという人は以下のサイトを見るといいかも。 OMake つかったらC言語でプログラム書く手間がバカ…

簡易版 Boost.Xpressive、Boost.Spirit の正規表現対応表

以前、Boost.Xpressive と Boost.Spirit の速度比べをした際にちょっと調べたのでまとめておこう。 この書き方しかないわけではないので、もっと実行効率のいいルールを探すのもいいかもね。 ただ、Boost.Spirit は網羅的なマッチングをしないので要注意*1。…

TBB3.0 scalable_allocator vs. TCMalloc

Intel TBB 3.0 の exampels を見ていると、scalable_allocator と stdmalloc の性能比較ができるサンプル (exmaples/task/tree_sum) があったので、ついでに Google 謹製 tcmalloc とも比較してみた。 比較に使った PC のスペックは CPU: Core i5 750@2.67GH…

Boost.XpressiveとBoost.Spiritの速度比べ

ちょっとした構文解析なら Xpressive でも充分だけど、ちゃんとした(?)構文解析器の Spirit と比べてどれだけ性能の差があるのか調べてみた。 どうせ比較するなら実用的なもので、というわけで RFC 2616 やらを参考に HTTP のリクエストヘッダをパースさせて…

boost::xpressiveのrangeでハマる

boost::xpressiveを使って「コントロール文字を除いたUS-ASCII文字(0x20〜0x7e)」以外か判定しようとしたら、かなり恥ずかしい間違いをしたのでメモ。 元々次のような正規表現で判定をしようと思っていた。 #include <iostream> #include <boost/xpressive/xpressive.hpp> int main() { using namespac</boost/xpressive/xpressive.hpp></iostream>…

LD_PRELOADで他プロセスのバッファリング無効化

pipe や popen を使っていると、本来なら出力済みのはずの他プロセスの出力がなかなか取得できないことがある。 最初はpopenやpipeのせいかと思っていろいろ調べたけど、どうも出力時のバッファリングの影響のようだ。 自分のプログラム中でバッファリングの…

Ubuntu 10.04でWLI-UC-G300Nを使う

先日インストールしたUbuntuでWLI-UC-G300Nを使おうとしたら 若干苦労したのでメモ。 参考サイト http://www.toy-poodle-four.net/cgi-bin/four_sb/log/eid1414.html https://forums.ubuntulinux.jp/viewtopic.php?id=7779 https://forums.ubuntulinux.jp/vi…

Ubuntu 10.04 インストール

折角なので、新しいPCに Ubuntu 10.04 デスクトップ版をインストールしてみた。 マシン構成 CPU Intel Core i5 750 M/B P7P55D Mem DDR3 1333 2GB GPU GF9800GT-E512HD/GE HDD 500GB 公式サイトからISOイメージをダウンロードして、 とりあえずHDDにインスト…