杉田和久 テックステート取締役

今回はVisual C++.NETの開発環境について紹介します。Visual C++シリーズの開発環境は「統合開発環境」と呼ばれ,プログラムやデザインの作成や実行,デバッグや管理といった一連の作業工程を,統合して行えます。特にプログラム作成のための機能とデバッグ機能は,重要な部分。特にこれらについて解説しましょう。

特に注目すべきポイントとは

 Visual C++.NETの開発環境は大幅に変更されたので,ここですべては解説できません。特に筆者が注目したポイントに絞って紹介します。

●環境のカスタマイズ

 Visual C++6.0も開発環境をある程度カスタマイズできましたが,Visual C++.NETでは,画面を構成するあらゆるウィンドウやツールについて,フルにカスタマイズが可能になりました。利用環境のディスプレイサイズや,構築するプロジェクトに応じた理想的な環境を,自分で設定できるわけです。

図1:アウトライン機能
アウトライン機能により,ソースコードの折り畳みが可能。ソースの一覧性を高めています。

●アウトライン機能

 コードエディタでソースコードを表示すると,左に「-」ボタンが表示され,クラスや関数などの単位で,一時的に見えないよう折り畳めます。サイズの大きなソースを確認する場合など,ソース全体の把握に役立ちます(図1[拡大表示])。

 この機能は標準でオフなので,使う場合,設定変更します。[ツール|オプション]でオプションダイアログを開き,左側のペインより[テキストエディタ|C/C++|書式設定]を選択,項目「ファイルが開かれたときにアウトラインモードを実行」にチェックを付ければOKです。

●インクリメンタル検索

 筆者がとても気に入っている機能です。ソース中で任意の文字列を検索する際,CTRL+Fで検索ウィンドウを表示させ検索することがよくありますが,このエディタでは,それに加え,インクリメンタル検索という新機能を追加。ソース中でCTRL+Iと入力後,検索したい文字列を続けて入力すれば,先頭からヒットするたびソース中の該当位置に飛びます。最初の数文字入力で検索したい文字列を発見できる場合も多いため,短時間で検索可能です。

図2:タスク一覧
タスク一覧機能により,ビルド時のエラーが一覧表示されます。

●タスク一覧

 タスク一覧は,Visual C++.NETで初搭載された機能です。Visual C++6.0ではビルド時にエラーが発生すると,エラー内容を出力(アウトプット)ウィンドウに表示。コマンドラインでビルドを行った場合と似た表示でした。Visual C++.NETでは,ビルド時エラーはリスト形式でタスク一覧ウィンドウに表示されます。これにより複数のエラーが発生したときなど,エラー番号やファイル別に並べ替えできるようになりました(図2[拡大表示])。

●ダイナミックヘルプ

 Visual C++.NETでは,新しく「ダイナミックヘルプ」が追加されました。コードを書いたりツールを使う際,状況に応じたヘルプ項目を常時表示するものです。たとえば,開発環境でクラスビューがアクティブになっているときには,ダイナミックヘルプには,クラスビューについてのヘルプのリンクが表示されます。また,ソースがアクティブになっているときは,カーソル付近にある関数やクラス名に対する表示です。Visual C++6.0のときは,たとえばコードを記述している際に関数について疑問があった場合,関数をカーソルで選択してF1キーを押し,ヘルプを起動しました。Visual C++.NETでは,関数名を入力,あるいは選択しているだけで,その関数のリファレンスへのリンクが常に表示されているのです。

コンパイラ,リンカのバージョンアップ

 Visual C++.NETでは,コンパイラ性能が向上し,特に.NET関係の機能拡張がされています。Visual C++.NET 2003のコンパイラでは,「/G7」という,Pentium 4 やAthlon用にコードを最適化するオプションを追加。また,「/arch」という,SSE(ストリーミングSIMD拡張命令),SSE2を利用したコード生成ができます(SSE2は現在のところPentium4のみサポート)。

 コンパイラやリンカの性能は,Visual C++6.0より大幅に拡張されています。

 Microsoft Cが発売されていた10年以上前の時代からですが,開発製品でサービスパックなどが発表されても,コンパイラ本体だけは,製品自体のバージョンアップまで決して修正されません。つまりコンパイラ本体に不具合があっても,次バージョンまで修正はなし。これはマイクロソフト社のルールなのです。Visual C++6.0が出てから既に4年経過し,その間に発生した問題を解決する,あるいはその間に向上した技術を取り入れるには,製品のアップデートしか方法がないのです。

 今回は,開発環境の機能についていくつかトピックを解説しました。次回は,MFCについて,Visual Studio.NETの特徴を解説していきましょう。

杉田和久 テックステート取締役
 .NETやWindows上の開発作業全般に精通。日経BP ITPro実践スクール,日経ソフトウエア誌など,技術セミナー講師や執筆を手掛ける。