C++Builder好きの秘密基地 このページをアンテナに追加 RSSフィード Twitter

2009-08-08

C++Builder 2010情報解禁

ちょっと出遅れたけど、C++Builderの新バージョン、"C++Builder 2010"についての情報が解禁になったので、個人的な感想とかを晒してみる。
詳しい情報は、本家とかDelphiブロガーの皆様に任せるとして(ぉぃ)、いち、C++Builderユーザー視点から。
現時点で、まだRTMが済んでいないのでもしかしたら変更があるかも。

全般的な感想としては、ぶっちゃけた話マイナーチェンジ。だけど、IDEについては全俺が泣いた新機能てんこ盛り。

エディタの検索機能の強化
少し前のデベロッパーキャンプで指摘があった、Shift+F3で逆方向検索が出来るようになりました!!
FirefoxっぽいUIなので今までと比べものにならないくらい使い勝手がアップ。もちろん、正規表現とかマッチ部分のハイライトとかも。

C++クラスエクスプローラーの「復活」
変数とかクラスとかの定義とか、参照情報とかが検索出来るようになったので、いちいち、grepとかを起動して検索する必要が無くなった。
やっぱり、この機能の復活は嬉しい。

IDEインサイト
機能名から、メニューとかコマンドを検索するというちょっと面白い機能。
コンパイルオプションにジャンプしたりとか、コンポーネント名からコンポーネントを検索してそのまま貼ったりと、いろいろ出来る。
IMEを起動しなければならない場合があったりするけど、これは結構使う。てか、FT中に結構使っていたり。

データビジュアライザー
デバッガでstd::stringとかstd::wstringは「文字列」として表示される。これ、本当に欲しかった・・・。
この機能はプラグインなので、OpenToolAPIで拡張可能。ほかにもTDateTimeとかTStrings*1が実装されている。
f:id:A7M:20090808171247p:image


あとは、[ファイル|開き直す]で表示される項目の管理とか、コードフォーマッターでソースコードが整形出来たりとか、昔のIDEのように、コンポーネントパレットをツールバーに表示できたりとか。
この辺も欲しかった機能なので非常に助かる。


C/C++コンパイラとRTLについてもやっぱり、マイナーチェンジ。Boostのバージョンは、1.39.0に。
バグフィックスが主だけど、細かい部分で気が利いた修正が追加。個人的に気に入ったのは、以下の3点。


メモリマネージャーの変更
メモリマネージャーがFASTMMになったおかげでパフォーマンスアップ。
具体的な数字を挙げるのはまずそうな気がするので、こんな感じの単純なコードをCB2009と2010に喰わせたところ、明らかに動作速度がアップ。

int _tmain(int argc, _TCHAR* argv[]) 
{

  const int count = 50000;
  char* buf[count];
  double rr = 0.0;

  const int rc = 100;
  for (int t = 0; t < rc; ++t) {
    DWORD s = GetTickCount();
    for (int i = 0; i < count; ++i) {
      char* pp = new char[1024];
      memset(pp, 0, 1024);
      buf[i] = pp;
    }
    for (int i = 0; i < count; ++i) {
      delete[]buf[i];
    }
    DWORD e = GetTickCount();
    double d = (e - s) / 1000.0;
    printf("sec = %.8f\n", d);
    //
    rr += d;
  }

  printf("avr = %.8f\n", rr / rc);

  return 0;
}
この辺は、10-90ルールの"10"当たる部分で、STLBoostなどのパフォーマンスにも影響。これは意外と効いてくるかも。

「セキュア」な標準入出力
昔からバッファオーバーフローの原因となっていた、scanfとかstrcpyとかの「セキュア」な実装が追加。 VisualC++ 2005から導入された、scanf_s、strcpy_s、fopen_sがC++Builderでも実装されたので、こいつを使えば古いCのソースもセキュアになる。もちろん、ソースコードの修正は必要。

#pragma onceの追加
ヘッダファイルのインクルードガードは#ifdef〜#endifでくくっていたのを、#pragma onceでインクルードガードが可能。

ダウンロード版正式リリースは8月25日予定。
あれ?そういえば、[NDAにつき検閲済]はどうなったんだ? 確か、入るはず*2予定で個人的には一番欲しかった機能だけd Zap!! Zap!! Zap!!!

*1:08/26 TStringsはDelphiのみ

*2:おいらの思い違いだと思いたい

DEKODEKO 2009/08/09 01:41 C++Builder 2010 の解説はお願い致します m(_ _)m
# 工工エエエ(´Д`;)エエエ工工

C++が好きC++が好き 2009/08/09 09:36 >C++クラスエクスプローラーの「復活」
すばらしい。

>IDEインサイト
http://etnaweb04.embarcadero.com/rad-studio-2010/
でみました。良さげです。
しかし、お茶目なシャツには笑った。

>Boostのバージョンは、1.39.0に。
seralizationはいかがですか?

でぶきゃん大阪どうしようかな。
喋りにいらっしゃるんですよね。

A7MA7M 2009/08/09 19:33 DEKOさま
>C++Builder 2010 の解説はお願い致します m(_ _)m
Sir! Yes, Sir!!(゜д゜)ゝ
まぁ、ぼちぼちまとめていきます。
C++が好きさま
>seralizationはいかがですか?
*現時点*で言及していないことでお察しください。(ぉ

>喋りにいらっしゃるんですよね。
はい。(^^;
現在ネタの仕込み中です。7月にやった奴の修正版ですが、+αの部分があるのでその部分を再確認しています。CB2010での件もちょっと触れる予定です。

C++が好きC++が好き 2009/08/12 07:06 >*現時点*で言及していないことでお察しください。(ぉ
号泣。
spiritが強すぎる?

OldCoderOldCoder 2012/05/14 22:52 C++Builderからの移行ですが、Helpがクラス名とか、プロパティの紹介のみで、例題もなく使い方も説明がないチープなヘルプになったのがさびしいですね。
一部のソフトにあるようにさらに金を出して講習を受けないと何もわからないようなものではあまり必要性が感じられない。
おかげで、旧製品(C++Builder5)からいまだに離れられない。

投稿したコメントは管理者が承認するまで公開されません。

トラックバック - http://d.hatena.ne.jp/A7M/20090808/1249718672