SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

イベントレポート(AD)

次期C++Builderはアーキテクチャを刷新
~「エンバカデロ・デベロッパーキャンプ東京」レポート

  • X ポスト
  • このエントリーをはてなブックマークに追加

3. 従来バージョンとの互換性

 開発ツールがバージョンアップするときに常に気になるのは、従来のバージョンとの互換性だ。DelphiやC++Builderの場合、アーキテクチャやプラットフォームの違いなどはできる限りツール側で吸収し、開発者に意識させないというポリシーがある。前述のとおり、LLVMベースのアーキテクチャが採用されたことについても、フロントエンドの部分に大きな変更が加わることはない。

 64bit対応に関しては、Win32環境向けとWni64環境向けのプロジェクトで単一のシステムヘッダ(.h/.hppファイル)を共有することで、Win32向けで作られた古いプロジェクトでもそのまま両方のターゲットに対応できるようにしているという。ヘッダファイル内では#ifdefによって環境ごとに設定を切り分けている。32bit環境と64bit環境ではポインタのサイズが異なるが、その定義も同様にヘッダファイルで切り分けを行っているとのこと。ただし、プログラム内で直接ポインタのサイズを利用した処理を行っているような場合には、64bit環境ではそのままでは正常に動作しないので注意が必要だ。

 その他に、64bit版コンパイラを使う場合に注意すべき内容として次のような変更点が挙げられた。

  • デフォルト引数は関数宣言でのみ指定可能(図3.1
    • 関数ポインタやクロージャにはデフォルト引数は指定できない
  • プリプロセッサ内でsizeofは使用できない(図3.2
    • 実行時に判定する必要がある
  • テンプレートのパースが厳密に2フェーズで行われるようになった(図3.3
    • 2フェーズ目でコンパイルされる関数などを1フェーズ目の部分で使うことはできない

図3.1 64bit版コンパイラでエラーになる例その1
図3.1 64bit版コンパイラでエラーになる例その1

図3.2 64bit版コンパイラでエラーになる例その2
図3.2 64bit版コンパイラでエラーになる例その2

図3.3 64bit版コンパイラでエラーになる例その3
図3.3 64bit版コンパイラでエラーになる例その3

 高橋氏によるデモでは、ターゲットとしてWin64を指定した場合には新しいコンパイラが使われたが、Win32を指定した場合には従来のコンパイラが使われる仕組みになっていた。Win32向けのコンパイラも正式リリースでは新しい機能に対応する予定だが、完全に新しいコンパイラに置き換わるのか、それとも従来のコンパイラに新機能をバックポートする形になるのかは、まだ確定的ではないとのことだ。この点については正式リリースの段階で発表されるだろうという話だった。

4. XE3に向けたマイグレーションを推進

 C++Builder XE3が正式にリリースされるのは今年後半以降になるが、エンバカデロでは、将来バージョンのプレビュー版へのアクセス権と、1年以内にリリースされる次期バージョンが無償で入手できる、新しい製品ライセンス「C++Builder XE2 Future」の提供を開始している。さらに、2012年6月29日までは同ライセンスを20%OFFの価格で購入できるキャンペーンも実施中だ。

 C++Builder XEおよびXE2のライセンスには旧バージョンのC++Builderへのアクセス権も付属するため、古いプロジェクトでも、XE3に向けて順次マイグレーションしていくことができる。高橋氏は講演の最後に、「ぜひこの機会にC++Builder XE2を購入し、計画的なマイグレーションを検討していただけたらと思います」と呼びかけた。

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
イベントレポート連載記事一覧

もっと読む

この記事の著者

杉山 貴章(スギヤマ タカアキ)

有限会社オングスにて、Javaを中心としたソフトウェア開発や、プログラミング関連書籍の執筆、IT系の解説記事やニュース記事の執筆などを手がけている。そのかたわら、専門学校の非常勤講師としてプログラミングやソフトウェア開発の基礎などを教えている。著書に『Javaアルゴリズム+データ構造完全制覇』『Ja...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/6621 2012/06/15 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング