Borland C++ Builder6のコンパイル高速化

BCBのMLで話題になっていたコンパイル高速化プラグインをためしてみた。

http://andy.jgknet.de/cpp/index.php?page=idecompilerspeedfix
http://andy.jgknet.de/cpp/index.php

Bcc32Pch IDE PluginとBcc32Pchを両方インストールしてみた。
いまのところプリコンパイルヘッダではしかインクルードしてないが、体感的にはずいぶん速くなった。横着リファクタリングするときにはとりあえずコンパイルして修正箇所を見つけ出すのでコンパイルスピードは作業効率に大きく影響する。そのうえ、コンパイルに時間が掛かると待っている間に集中力が切れてしまうので、高速化の意味は大きい。

ただ、このプラグインを入れてデバッグ実行すると、コンパイルエラーがあっても停止せずにそのまま実行される事がある。前にビルドした実行ファイルを起動しているのかもしれない。できればデフォルトと同じように停止してくれたほうが嬉しいんだけど。

Borland C++ Builder6 用にboostをインストールしてみた

参考:
http://www.kmonos.net/alang/boost/
http://boost.cppll.jp/HEAD/more/getting_started.html#Introduction

普段C++を使っていてたまにRubyでコードを書くたびに、「なんでC++には正規表現がないねん!」「C++にもsplitがあったらもっと楽できるのに…」という不満をずっと感じていた。次のC++標準ライブラリ候補であるboostにはそんな機能があるらしい。

boostの入手

boost_1_33_1.exeをダウンロードして実行(解凍)する。(boost_1_33_1というフォルダができる。)boost_1_33_1のフルパスに日本語が入っているとコンパイルに失敗するらしいので、コンパイルの間はC:\boost_1_33_1などの場所に置く。(このフォルダはコンパイルが終わったら削除してもよい)

ビルドツールの入手

regexなど、いくつかの機能を使うにはライブラリをビルドする必要がある。
Windows用のビルドツールboost-jam-3.1.11-1-ntx86.zipをダウンロードして解凍し、出来たbjam.exeをboost_1_33_1にコピーする。

boostのビルド&インストール

コマンドラインでboost_1_33_1のフォルダに移動し、

bjam.exe -sTOOLS=borland --prefix="C:\Program Files\Borland\CBuilder6" install 

ビルドには数十分かかる。
ビルドが終了すると、
C:\Program Files\Borland\CBuilder6\include\boost-1_33_1 にヘッダが、
C:\Program Files\Borland\CBuilder6\lib にライブラリがコピーされる。

bcb32.cfgにboostのパスを追加

C:\Program Files\Borland\CBuilder6\Bin\bcb32.cfgを編集して、-Iの行の最後に

;"C:\Program Files\Borland\CBuilder6\Include\boost-1_33_1"

を追加する。

あとは使うだけ(のはず)。マクロスクリプトの解析にregexとtokenizerが使えそうだ。
ざっと見たところ、boostの便利な機能のいくつかはVCLで実現されてたりするので、いまのところ他の機能を使うあてはない。boostで何ができるのかはぼちぼち調べることにしよう。