NetBeans C/C++ Development Pack 5.5 クイックスタートガイド
このチュートリアルでは、NetBeans IDE 5.5 および NetBeans C/C++ Development Pack 5.5 を使用して C/C++ アプリケーションを開発する基本的な手順を学ぶことができます。
目次
要件
C/C++ 開発を始めるには、事前に次のソフトウェアがインストールされている必要があります。
必要なソフトウェアのダウンロードとインストールについては、「NetBeans IDE 5.5 のインストール」と「NetBeans C/C++ Development Pack 5.5 のインストールとセットアップ手順」を参照してください。
サンプルプロジェクト
プロジェクトをいくつか試しに操作できます。IDE で「ファイル」>「新規プロジェクト」を選択し、「サンプル」カテゴリ、「C/C++ 開発」サブカテゴリ、「C/C++」サブカテゴリの順に開きます。IDE には、知識を深るのに役立つ C/C++ サンプルプロジェクトがいくつか用意されています。
C/C++ プロジェクトの作成
NetBeans C/C++ Development Pack では、既存のコードから C/C++ プロジェクトを作成できるだけでなく、生成された Makefile を使用して C/C++ アプリケーションおよびライブラリプロジェクトを作成できます。
C/C++ のアプリケーション、動的ライブラリ、または静的ライブラリプロジェクトを使用すると、アプリケーションの構築、実行、およびデバッグすべてが IDE によって制御されます。プロジェクトの設定は、プロジェクトの作成時に「プロジェクトプロパティー」ダイアログで指定します。IDE は、プロジェクトの設定をすべて格納する Makefile を生成します。
C/C++ アプリケーションプロジェクトの作成
- 「ファイル」>「新規プロジェクト」を選択して、「新規プロジェクト」ウィザードを開きます。
- ウィザードで「C/C++ 開発」カテゴリを選択します。
-
ウィザードには、作成できる新規プロジェクトとして、「C/C++ Project From Existing Code」、「C/C++ アプリケーション」、「C/C++ 動的ライブラリ」、および「C/C++ 静的ライブラリ」の 4 種類が用意されています。「C/C++ アプリケーション」を選択して「次へ」をクリックします。
-
ウィザードのデフォルトの値を使用して、新しい C/C++ アプリケーションプロジェクトを作成します。プロジェクトの名前と場所を選択できます。
- 「完了」をクリックしてウィザードを終了します。
4 つの論理フォルダを持つプロジェクトが作成されます。論理フォルダはディレクトリではありません。ユーザーがファイルを編成する 1 つの手段であり、ファイルが物理的に格納されているディスク上の場所を反映しているわけではありません。論理フォルダに追加されたファイルは、自動的にプロジェクトの構成要素となり、プロジェクトの構築時にコンパイルされます。
「重要なファイル」フォルダに追加されたファイルはプロジェクトの構成要素ではなく、プロジェクトの構築時にコンパイルされません。それらのファイルは単なる参照用で、既存の Makefile を使用するプロジェクトには便利です。
プロジェクトの論理ビューと物理ビューの切り替え
プロジェクトには論理ビューと物理ビューの両方があります。プロジェクトの論理ビューと物理ビュー間で切り替えができます。
-
「ファイル」タブを選択します。次のウィンドウ図はプロジェクトの物理ビューを示しています。このビューには、ディスクに格納されているとおりにファイルおよびフォルダが表示されます。
-
「プロジェクト」タブを選択します。次のウィンドウ図はプロジェクトの論理ビューを示しています。
プロジェクトへのファイルとフォルダの追加
プロジェクトに論理フォルダを追加できます。
-
アプリケーションプロジェクトのプロジェクトノードを右クリックして、「新規論理フォルダ」を選択します。プロジェクトに新しい論理フォルダが追加されます。
-
新しい論理フォルダを右クリックして、「名前を変更」を選択します。新しいフォルダの名前を入力します。
既存のフォルダにファイルとフォルダの両方を追加できます。論理フォルダは入れ子にできます。
プロジェクトへの新規ファイルの追加
プロジェクトに新しいファイルを追加できます。
- 「ソースファイル」を右クリックして、「新規」>「ファイル/フォルダ」を選択します。
-
「新規ファイル」ダイアログの「ファイルの種類を選択」ページで「C ファイル」カテゴリを選択し、ファイルの種類として「Main C File」を選択します。「次へ」をクリックします。
- 「名前と場所」ページの「ファイル名」フィールドに main を入力します。
- 「完了」をクリックします。
ウィザードで指定したディスク上のディレクトリに main.c ファイルが作成されて、「ソースファイル」フォルダに追加されます。このフォルダには、ソースファイルだけでなく任意の種類のファイルを追加できます。
プロジェクトへのそのほかの新規ファイルの追加
- 「ヘッダーファイル」を右クリックして、「新規」>「ファイル/フォルダ」を選択します。
-
「新規ファイル」ダイアログの「ファイルの種類を選択」ページで「C ファイル」カテゴリを選択し、ファイルの種類として「C ヘッダーファイル」を選択します。「次へ」をクリックします。
- 「名前と場所」ページの「ファイル名」フィールドに file を入力します。
- 「完了」をクリックします。
ウィザードで指定したディスク上のディレクトリにファイルが作成されて、「ヘッダーファイル」フォルダに追加されます。
プロジェクトへの既存のファイルの追加
プロジェクトに既存のファイルを追加できます。
-
「ソースファイル」フォルダを右クリックして、「既存の項目を追加」を選択します。「項目を選択」ダイアログでディスク上の既存のファイルを選択して、プロジェクトにファイルを追加できます。
既存の項目の追加では、「新規」>「ファイル/フォルダ」を使用しないでください。ファイルがすでに存在するかは、「名前と場所」パネルでわかります。
プロジェクトプロパティーの設定
プロジェクトを作成すると、「Debug」と「Release」という 2 つの構成が作成されます。構成は、プロジェクトが現在の設定を格納する手段です。「Debug」構成は、デバッグ情報を含む、アプリケーションのバージョンを構築します。「Release」構成は、同じアプリケーションの最適化されたバージョンを構築します。
「プロジェクトプロパティー」ダイアログには、プロジェクトの構築および構成情報が含まれています。「プロジェクトプロパティー」ダイアログを開くには、次の手順に従います。
-
「Application」プロジェクトのプロジェクトノードを右クリックし、「プロパティー」を選択します。
「プロジェクトプロパティー」ダイアログの左側パネルでノードを選択し、右側のパネルでプロパティーを変更することによって、コンパイラ設定やそのほかの構成設定を変更できます。ノードやプロパティー値を選択すると、設定可能なプロパティーがわかります。プロパティーの設定は、現在選択されている構成に対して行われます。
構成の管理
「プロジェクトプロパティー」ダイアログで変更されたプロパティーは、現在の構成として Makefile に保存されます。デフォルトの構成を編集したり、新しい構成を作成したりできます。新しい構成を作成するには、次の手順に従います。
-
「プロジェクトプロパティー」ダイアログで「構成を管理」ボタンをクリックします。
-
「構成」ダイアログで適切な構成にもっとも近い構成を選択します。この場合は「Release」構成を選択して、「コピー」ボタンをクリックします。そのあと「名前を変更」をクリックします。
-
「名前を変更」ダイアログで構成名を「PerformanceRelease」に変更します。「了解」をクリックします。
- 「構成」ダイアログで「了解」をクリックします。
-
「プロジェクトプロパティー」ダイアログの「構成」ドロップダウンリストで「PerformanceRelease」構成が選択状態になっていることを確認します。
-
左側パネルで「C/C++」ノード、「GNU C コンパイラ」ノードを順に展開して、「一般」ノードを選択します。
-
右側パネルのプロパティーシートで「開発モード」を「Release」から「PerformanceRelease」に変更します。「了解」をクリックします。
これで、異なるオプションの組み合わせでアプリケーションをコンパイルする、新しい構成が作成されました。
ソースファイルプロパティーの設定
C/C++ プロジェクトのプロジェクトプロパティーを設定すると、関連するプロパティーがプロジェクト内のすべてのファイルに適用されます。特定のファイルのプロパティーをいくつか設定できます。
-
main.c ソースファイルを右クリックし、「プロパティー」を選択します。ファイル単位でプロジェクトのコンパイラ設定やそのほかのプロパティーをオーバーライドできます。特定の構成でファイルを構築対象から除外することもできます。
- 「プロジェクトプロパティー」ダイアログを閉じます。
主プロジェクトの設定
「プロジェクト」ウィンドウでプロジェクトノードを右クリックすると、選択されているプロジェクトで実行できるアクションのポップアップメニューが表示されます。同時に複数のプロジェクトを開いている場合、プロジェクトノードのポップアップメニューには、そのプロジェクトが現在の操作対象になっていることが示されます。次に、プロジェクトに関連するメニューバーおよびツールバーのアクションについて示します。
プロジェクトに関連するメニューバーおよびツールバーのアクションの多くは、主プロジェクトに作用します。主プロジェクトノードは、「プロジェクト」ウィンドウに太字で表示されます。
IDE で主プロジェクトを変更する
-
プロジェクトノードを右クリックし、「主プロジェクトとして設定」を選択します。これで、選択したプロジェクトが IDE の主プロジェクトになり、メニューバーおよびツールバーのアクションはこのプロジェクトに適用されます。
プロジェクトの構築
プロジェクトを構築する
-
「構築」>「主プロジェクトを構築」を選択してプロジェクトを構築します。「出力」ウィンドウに構築出力が表示されます。
-
メインツールバーにある「構成」ドロップダウンリストで、構成を「Debug」から「PerformanceRelease」に変更します。これで、プロジェクトは「PerformanceRelease」構成を使用して構築されます。
-
「構築」>「主プロジェクトを構築」を選択してプロジェクトを構築します。「出力」ウィンドウに構築出力が表示されます。
「構築」メニューからプロジェクトの構築か生成物の削除、あるいはその両方を選択して、アクションを実行できます。プロジェクトは異なる構成のオブジェクトファイルおよび実行可能ファイルをそれぞれ独立して保持しているため、複数の構成のファイルが混ざる心配をする必要はありません。
ファイルの個別コンパイル
ソースファイルを個別にコンパイルする
-
main.c ファイルを右クリックし、「ファイルをコンパイル」を選択します。このファイルのみコンパイルされます。
注: プロジェクトの種類が「C/C++ Project From Existing Code」の場合、単一ファイルのコンパイルはサポートされません。
プロジェクトの実行
args プログラムは、コマンド行引数を出力します。このプログラムを実行する前に、現在の構成の引数をいくつか設定します。そのあとプログラムを実行します。
Args プロジェクトを作成して、いくつか引数を設定し、プロジェクトを実行する
- 「新規」>「新規プロジェクト」を選択します。
- プロジェクトのウィザードで「サンプル」カテゴリ、「C/C++ 開発」サブカテゴリの順に展開します。
- 「C/C++」サブカテゴリを選択して、「Args」プロジェクトを選択します。「次へ」をクリックして、「完了」をクリックします。
- 「Args」プロジェクトノードを右クリックし、「プロジェクトを構築」を選択します。プロジェクトが構築されます。
- 「Args」プロジェクトノードを右クリックし、「プロパティー」を選択します。
- 「プロジェクトプロパティー」ダイアログで「実行」ノードを選択します。
-
「引数」テキストフィールドに「1111 2222 3333」を入力します。
「了解」をクリックします。
-
「実行」>「主プロジェクトを実行」を選択します。アプリケーションが実行されます。「出力」ウィンドウに引数が表示されます。
既存のコードからの C/C++ プロジェクトの作成
「C/C++ Project From Existing Code」の場合、IDE は、アプリケーションのコンパイルおよび実行する手順について、既存の Makefile に依存します。
既存のコードからのプロジェクトの作成
- http://sourceforge.net/projects/loki-lib から loki-0.1.5 ライブラリをダウンロードします。
- 適当なディレクトリに loki-0.1.5 を展開します。
- 「ファイル」>「新規プロジェクト」を選択して、「新規プロジェクト」ウィザードを開きます。
- 「C/C++ 開発」カテゴリを選択します。
- 「C/C++ Project From Existing Code」を選択して「次へ」をクリックします。
-
「Makefile and Build Actions」ページで、「Makefile」フィールドの「参照」ボタンをクリックします。「Makefile を選択」ダイアログで loki-0.1.5 の保存先ディレクトリに移動します。Makefile を選択します。「選択」をクリックします。
-
「作業ディレクトリ」テキストフィールド、「構築コマンド」テキストフィールド、および「生成物を削除コマンド」テキストフィールドに自動的に値が設定されます。「構築結果」テキストフィールドに、loki-0.1.5 ソースコードから構築される libloki.a ライブラリの格納先のフルパスを入力します。「次へ」をクリックします。
-
「ソースファイルフォルダ」ページにプロジェクトのソースファイルフォルダへのパスが自動的に一覧表示されます。「追加」をクリックし、「ソースファイルフォルダ」ダイアログを使用して、追加フォルダを指定できます。
-
「プロジェクトの名前と場所」ページの「プロジェクト名」フィールドに Loki を入力します。ほかのすべてのフィールドはデフォルト値を使用します。「完了」をクリックします。
プロジェクトが作成され、「プロジェクト」ウィンドウに開かれます。これで、既存のコードのシンラッパーとなるプロジェクトが作成されました。
プロジェクトの構築と再構築
プロジェクトを構築する
- プロジェクトのプロジェクトノードを右クリックし、「構築」を選択します。
プロジェクトを再構築する
- プロジェクトのプロジェクトノードを右クリックし、「プロジェクトの生成物を削除して構築」を選択します。
ソースファイルの編集
C/C++ Development Pack には、ソースコードの表示と変更に役立つ高度な編集機能が用意されています。Quote プロジェクトを使用して、これらの機能を確認します。
- 「ファイル」>「新規プロジェクト」を選択します。
- プロジェクトのウィザードで「サンプル」カテゴリ、「C/C++ 開発」サブカテゴリを順番に展開します。
- 「アプリケーション」サブカテゴリを選択して、「Quote」プロジェクトを選択します。「次へ」をクリックして、「完了」をクリックします。
C/C++ ファイルのコードブロックの折り畳み
ファイルの種類によっては、コード折り畳み機能を使用してコードブロックを縮小し、ブロックの最初の行のみがソースエディタに表示されるようにできます。
- Quote1 アプリケーションプロジェクトで、「ソースファイル」フォルダを開き、cpu.cc ファイルをダブルクリックして、ソースエディタでファイルを開きます。
- 左マージンにある縮小アイコン (マイナス記号の付いた小さなボックス) をクリックし、いずれかのメソッドのコードを折り畳みます。
- 折り畳まれたブロックの右側にある {...} 記号にマウスを置いて、そのブロック内のコードを表示します。
クラスビューの使用方法
クラスビューを使用して、プロジェクトのすべてのクラスと各クラスのメンバーおよびフィールドを表示できます。
- 「ウィンドウ」>「クラスビュー」を選択してクラスビューを開くと、Quote1 プロジェクトが表示されます。
- Quote1 ノードを展開します。プロジェクト内のすべてのクラスが一覧表示されます。
- Customer クラスを展開します。
- customerName 変数をダブルクリックして、customer.h ヘッダーファイルを開きます。
ハイパーリンクの使用方法
ハイパーリンクナビゲーション機能を使用して、クラス、メソッド、変数、または定数の呼び出しからその宣言にジャンプしたり、その宣言から定義にジャンプしたりできます。
- Quote1 プロジェクトの cpu.cc ファイルでソースエディタの左マージン内を右クリックし、「行番号を表示」を選択します。
- Ctrl キーを押しながら、行 32 にマウスを置きます。ComputeSupportMetric 関数が強調表示されます。
-
ハイパーリンクをクリックすると、エディタがその関数の定義にジャンプします。
- Ctrl キーを押しながら定義にマウスを置き、ハイパーリンクをクリックします。エディタが、cpu.h ヘッダーファイル内のその関数の宣言にジャンプします。
- エディタのツールバーの左矢印をクリックするとエディタが定義に戻ります。
コード補完機能の使用方法
IDE の動的 C/C++ コード補完機能によって、ユーザーが文字を 1 文字以上入力すると、その式を自動的に補完するためのクラス、メソッド、変数といった選択肢のリストが表示されます。
- Quote1 プロジェクトの quote.cc ファイルを開いて、ソースエディタの左マージン内を右クリックし、「行番号を表示」を選択します。
- quote.cc の行 19 で大文字 C を入力し、Ctrl-\ を押します。コード補完ボックスに、Customer クラスを含む一覧が表示されます。
- Customer クラスを選択し、Enter キーを押します。
- 「andrew;」 を入力して、Customer クラスの新しいインスタンスを完成させます。次の行で、文字「a」を入力し、Ctrl-\ を押します。コード補完ボックスに、文字「a」から始まる、現在のコンテキストからアクセス可能なメソッド引数、クラスフィールド、大域名などの選択肢が一覧表示されます。
- Customer andrew を選択し、そのあとにピリオド 1 つを入力します。Customer クラスの public メソッドおよびフィールドの一覧が自動的に表示されます。
コードテンプレートの使用方法
ソースエディタには、一般的な C/C++ コード断片に対するカスタマイズ可能なコードテンプレートが一式があります。省略名を入力し、スペースキーを押すことによって、そのコード断片全体を生成できます。例 (Singleton.cpp ファイル内):
- 「uns」と入力してスペースを 1 つ入力します。uns が unsigned に展開されます。
- 「iff」と入力してスペースを 1 つ入力します。iff が if () {} に展開されます。
- 「ife」と入力してスペースを 1 つ入力します。
ife が if () {} else {} に展開されます。
- 「fori」と入力してスペースを 1 つ入力します。fori が for (int i = 0; i < ; i++) {} に展開されます。
ペア補完機能の使用方法
C/C++ ソースファイルを編集するときは、ソースエディタは大括弧、丸括弧、引用符などのペア文字を自動的に一致させます。これらの文字の 1 つを入力すると、ソースエディタが自動的に対応する閉じる側の文字を挿入します。
- Quote1 プロジェクトの module.cc ファイルの行 92 にある { のあとにカーソルを置き、Return キーを押して新しい行に進みます。
- 「enum state {」を入力し、Return キーを押します。閉じ中括弧とセミコロンが自動的に追加され、カーソルが括弧の間の行に置かれます。
- invalid=0, success=1 を入力し、列挙を完成します。
- この列挙の閉じる }; のあとの行で「if (」を入力します。閉じ括弧が自動的に追加され、カーソルが括弧の間に置かれます。
- 「v==null」を入力します。さらに「 {」を入力し、右括弧のあとで改行します。閉じ角括弧が自動的に追加されます。
ブレークポイントの作成
いつでもコードにブレークポイントを作成し、操作できます。
行ブレークポイントの作成と削除
-
Quote1 プロジェクトの quote.cc ファイルを開きます。
- 行 97 (cout<<"Enter number of CPUs ";) の横の、「ソースエディタ」ウィンドウの左マージンをクリックすることによって行ブレークポイントを設定します。赤く強調表示されている行は、ブレークポイントが設定されていることを示します。
- ブレークポイントは、左マージン内のアイコンをクリックすることによって削除できます。
- 「ウィンドウ」>「デバッグ」>「ブレークポイント」を選択し、「ブレークポイント」ウィンドウを開きます。ウィンドウに行ブレークポイントが一覧表示されます。
関数ブレークポイントの作成
- 「実行」>「新規ブレークポイント」(Ctrl+Shift+F8) を選択して「新規ブレークポイント」ダイアログを開きます。
- ダイアログで「デバッガ」ドロップダウンリストが「C, C++ Fortran (gdb)」になっていることを確認します。
-
「ブレークポイントの種類」ドロップダウンリストで種類を「関数」に設定します。
- 「関数名」テキストフィールドに「Customer::DisplayCustomer」を入力します。「了解」をクリックします。
- 関数ブレークポイントが設定され、「ブレークポイント」ウィンドウの一覧に追加されます。
プロジェクトのデバッグ
デバッグセッションを開始すると、IDE によって
gbd デバッガが起動され、そのデバッガ内でアプリケーションが実行されます。デバッガウィンドウが自動的に開き、「出力」ウィンドウにデバッガの出力が出力されます。
デバッグセッションの開始
- Quote1 プロジェクトのプロジェクトノードを右クリックし、「プロジェクトをデバッグ」を選択することによってプロジェクトのデバッグセッションを開始します。デバッガが起動し、アプリケーションが実行されて、「ローカル変数」ウィンドウ、「ウォッチポイント」ウィンドウ、および「呼び出しスタック」ウィンドウが開きます。
- 「ウィンドウ」>「デバッグ」>「セッション」を選択して「セッション」ウィンドウを開きます。開いたウィンドウにデバッグセッションが表示されます。
アプリケーションの状態の検査
- Quote アプリケーションが「Debugging」ウィンドウで入力を求めるメッセージを表示します。
- 「Enter customer name:」プロンプトのあとに顧客名を入力します。
- 前に設定した関数ブレークポイント位置でアプリケーションが停止します。「ウィンドウ」>「デバッグ」>「ブレークポイント」を選択して「ブレークポイント」ウィンドウを開きます。ウィンドウに、前に設定した 2 つのブレークポイントが表示されます。関数ブレークポイントは太字で表示されます。
- customer.cc ファイル内の DisplayCustomer 関数の先頭行にあるブレークポイントアイコンの上に緑色のプログラムカウンタエラーが表示されます。
- 「呼び出しスタック」タブをクリックします。呼び出しスタックに、quote.cc ファイルの行 86 の DisplayCustomer 関数の呼び出しと customer.cc ファイルの現在のフレームの 2 つのフレームが表示されます。
- ツールバーの「ステップイン」ボタンをクリックし、iostream ライブラリを呼び出す呼び出しスタックに、フレームが追加されていることを確認します。
- 「ローカル変数」タブをクリックして、変数が 1 つ表示されていることを確認します。展開アイコン (プラス記号を含む小さなボックス) をクリックし、構造を展開します。
- 「継続」ボタンをクリックします。DisplayCustomer 関数が実行され、「Debugging」ウィンドウに顧客情報が表示されます。そのあと、入力が求められます。
- このプロンプトに対して入力を行います。次のブレークポイント、すなわち前に設定した行ブレークポイントでプログラムが停止します。「ローカル変数」タブをクリックし、ローカル変数の一覧を確認します。
- 「呼び出しスタック」タブをクリックし、スタック内にフレームが 1 つしかないことを確認します。
-
「継続」ボタンをクリックし、プログラムが完了するまで、「Debugging」ウィンドウのプロンプトへ入力を続けます。「Q」を入力してプログラムを終了すると、「Debugging」ウィンドウが閉じ、デバッグセッションが終了します。プログラムの実行が終了する前にデバッグセッションを終了するには、「セッション」タブでセッションを右クリックし、「完了」を選択するか、「実行」>「デバッガセッションを終了」を選択します。