空想犬猫記

※当日記では、犬も猫も空想も扱っておりません。(旧・エト記)

Boostメモ

MacOSXにboostを入れて遊んでみる。ビルド&インストールのメモ

  1. Boostダウンロードページからboost-jam(makeみたいなもの)とboost本体をダウンロード。
  2. boost-jamを先にビルド
    % cd boost-jam-3.1.11
    % ./build.sh
    
  3. ./bin.macosxppcにbjamが出来上がっているので,それをBoostの本体のディレクトリに移動(この手続きは必須ではない)
  4. Boost本体をビルドする。/usr/local/include直下にboostへのシンボリックリンクを貼った。後でソースコードを追えるようにタグも作成しておく(GNU globalを使用)。
    % ./bjam -sTOOLS=gcc --prefix=/usr/local
    % sudo ./bjam -sTOOLS=gcc --prefix=/usr/local install
    % cd /usr/local/include
    % sudo ln -s boost-1_33 boost
    % cd boost
    % sudo gtags
    

Boost本を片手に漁ってみた。試しにbindの中身を追ってみたが,ポカン度高し。lexical_cast,bind,ユーティリティ系はすぐにでも採用したい。noncopyableがシンプルでカッコいい。FORBID_COPY(Hoge); みたいなダサマクロを書く必要が無くなる。このイディオムは早速いただこうと思う。
Boost C++ Libraryプログラミング
もうこれは別の言語とのハイブリッドだと思った方が良いのかも。Expression Templateなどのテクニックも自分で作るというよりは「言語の機能」として覚えておく程度である程度十分な気がする。やっぱり変態になるのはやめて,賢い利用者になるための努力をしよう。
ところで,MacOSX上でObjective-C++を使えば,SmallTalk譲りのdynamicなプログラムも,テンプレートを使ったgenericなプログラムも,普通のCのプログラムもごちゃまぜにして書ける。幸せだね。