corner imagecorner image
FeaturesPluginsDocs & SupportCommunityPartners

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

  • GNU C 和 C++ 编译器、make 以及 gdb(Windows 平台);GNU C 和 C++ 编译器,或者 Sun 的 C 和 C++ 编译器、make 以及 gdb(Solaris 及 Linux 平台)

有关下载并安装所需软件的详细信息,请参阅 NetBeans IDE 5.5 安装指南NetBeans C/C++ Development Pack 5.5 安装和设置说明

样例项目

您希望通过一些项目来体验 NetBeans C/C++ Development Pack 5.5 的功能吗?在 IDE 中,选择“文件”>“新建项目”,然后依次打开“样例”类别、"C/C++ Development" 子类别和 C/C++ 子类别。IDE 提供了一些 C 和 C++ 样例项目来帮助您熟悉 IDE。

创建 C 和 C++ 项目

利用 NetBeans C/C++ Development Pack,您可以创建 C 和 C++ 应用程序项目及库项目,同时生成 makefile;您还可以基于现有源代码来创建 C 和 C++ 项目。

对于 C/C++ 应用程序、动态库或静态库项目,IDE 将控制应用程序生成、运行和调试的各个方面。创建项目时,您需要在“项目属性”对话框中设置项目。IDE 将生成一个 makefile,并在其中存储您的所有设置。

创建 C/C++ 应用程序项目

  1. 选择“文件”>“新建项目”以打开“新建项目”向导。

  2. 在向导中,选择“C/C++ 开发”类别。

  3. 向导将为您创建新项目提供四种选项:“基于现有代码的 C/C++ 项目”、“C/C++ 应用程序”、“C/C++ 动态库”和“C/C++ 静态库”。选择“C/C++ 应用程序”,然后单击“下一步”。

  4. “新建项目”向导的屏幕快照

  5. 通过向导并使用缺省设置来创建一个“C/C++ 应用程序”项目。您可以选择项目的名称和位置。

  6. 单击“完成”退出向导。

我们创建了一个具有四个逻辑文件夹的项目。逻辑文件夹并非真正的目录,它只是一种组织文件的方式,不代表文件在磁盘上的物理存储位置。添加到逻辑文件夹的文件将自动成为项目的一部分,并且在生成项目时进行编译。

添加到“重要文件”文件夹的文件不作为项目的组成部分,并且在生成项目时不进行编译。这些文件只是用于参考,并在您利用现有 makefile 创建项目时提供方便。

在项目的逻辑视图与物理视图之间切换

一个项目同时具有逻辑视图和物理视图。您可以在项目的逻辑视图与物理视图之间进行切换。

  1. 选择“文件”标签。该窗口展示了项目的物理视图。它原样体现了磁盘上存储的文件和文件夹。

  2. “文件”标签的屏幕快照

  3. 选择“项目”标签。该窗口展示了项目的逻辑视图。

  4. “项目”标签的屏幕快照

在项目中添加文件和文件夹

您可以在项目中添加逻辑文件夹。

  1. 右键单击应用程序项目的项目节点,选择“新建逻辑文件夹”。一个新的逻辑文件夹将被添加到项目中。

  2. 右键单击新逻辑文件夹并选择“重命名”。输入新文件夹的名称。

您可以在现有文件夹中添加文件和文件夹。逻辑文件夹是可嵌入的。

在项目中添加新文件

您可以在项目中添加新文件。

  1. 右键单击“源文件”文件夹,然后选择“新建”>“文件/文件夹”。

  2. 在“新建文件”对话框的“选择文件类型”页中,依次选择“C 文件”类别和“主 C 文件”文件类型。单击“下一步”。

  3. “新建文件”对话框的屏幕快照

  4. 在“名称和位置”页中,为“文件名”字段输入 main

  5. 单击“完成”。

根据在向导中指定的目录,将在磁盘上的相应位置创建 main.c 文件,并将其添加到“源文件”文件夹中。您可以在此文件夹中添加任何类型的文件,而不仅仅是源文件。

在项目中添加更多新文件

  1. 右键单击“头文件”文件夹,然后选择“新建”>“文件/文件夹”。

  2. 在“新建文件”对话框的“选择文件类型”页中,依次选择“C 文件”类别和“C 头文件”文件类型。单击“下一步”。

  3. 在“名称和位置”页中,为“文件名”字段输入 file

  4. 单击“完成”。

根据在向导中指定的目录,将在磁盘上的相应位置创建文件,并将其添加到“头文件”文件夹中。

在项目中添加现有文件

您可以在项目中添加现有文件。

  • 右键单击“源文件”文件夹,然后选择“添加现有项”。您可以通过“选择项”对话框来定位磁盘上的现有文件,并将其添加到项目中。

请不要使用“新建”>“文件/文件夹”来添加现有项,因为“名称和位置”面板会提示您该文件已存在。

设置项目属性

创建项目时,每个项目都具有两项配置:“调试”和“发行”。配置表示项目存储当前设置的方式。使用“调试”配置可以生成包含调试信息的应用程序版本。使用“发行”配置可以生成一个优化的版本。

“项目属性”对话框包含了项目的生成和配置信息。要打开“项目属性”对话框,请执行以下操作:

  • 右键单击应用程序的项目节点,然后选择“属性”。

  • “项目属性”对话框的屏幕快照

在“项目属性”对话框中,您可以修改编译器的设置和其他配置设置。方法是:选择左侧面板中的某个节点,然后在右侧面板中修改相应的属性。请选择一些节点和属性值,并观察可以设置的属性。您将为当前选择的配置设置属性。

管理配置

在“项目属性”窗口中更改的属性将存储在当前配置的 makefile 中。您可以编辑缺省配置,或者创建新的配置。要创建一个新的配置,请执行以下操作:

  1. 在“项目属性”对话框中,单击“管理配置”按钮。

  2. 在“配置”对话框中,选择一个最希望使用的配置。对于本示例,请选择“发行”配置并单击“复制”按钮。然后单击“重命名”。

  3. 在“重命名”对话框中,将此配置重命名为 "PerformanceRelease"。单击“确定”。

  4. 在“配置”对话框中,单击“确定”。

  5. 请注意:在“项目属性”对话框的“配置”下拉列表中,将会选中 "PerformanceRelease" 配置。

  6. 在左侧面板中,依次展开 "C/C++" 节点和“GNU C 编译器”节点,然后选择“常规”节点。

  7. 在右侧面板的属性表单中,将“开发模式”由“发行”更改为 "Performance Release"。单击“确定”。

因为您已经创建了一个新的配置,所以该配置将使用一组不同的选项来编译应用程序。

设置源文件的属性

当您设置 C 或 C++ 项目的项目属性时,相关属性将会应用到项目的所有文件中。您也可以为特定的文件设置属性。

  1. 右键单击 main.c 源文件,然后选择“属性”。对于单个文件,为其设置的编译器配置及属性将覆盖项目编译器的设置和其他属性。您也可以在特定的配置中进行设置以排除生成某些文件。

  2. 取消“项目属性”对话框。

设置主项目

当您在“项目”窗口中右键单击某个项目节点时,将会显示一个可在此选定项目上执行的各类操作的弹出式菜单。如果您同时打开了多个项目,则弹出式菜单上显示的可执行操作只针对于所选择的项目节点。但是,菜单栏和工具栏又是如何体现与项目相关的操作呢?

在菜单栏和工具栏上,大多数与项目相关的操作都只针对于主项目。主项目节点在“项目”窗口中以粗体显示。

要在 IDE 中更改主项目,请执行以下操作:

  • 右键单击某个项目节点,然后选择“设置为主项目”。该项目将成为 IDE 的主项目,并且菜单栏和工具栏中的操作将与其关联。

生成项目

要生成项目,请执行以下操作:

  1. 选择“生成”>“生成主项目”,则可以生成项目。“输出”窗口将显示与生成有关的输出信息。

  2. 在主工具栏的配置下拉列表中,将配置由“调试”切换到 "PerformanceRelease"。现在将使用 "PerformanceRelease" 配置来生成项目。

  3. 选择“生成”>“生成主项目”,即可生成项目。“输出”窗口将显示与生成有关的输出信息。

通过选择“生成”菜单中的相应操作,您可以清理、生成或清理并生成项目。此外,项目还可以根据不同的配置分别保留目标文件和可执行文件,所以您不必担心文件在多个配置中发生混淆。

编译单个文件

要编译单个的源文件,请执行以下操作:

  • 右键单击 main.c 文件,然后选择“编译文件”。其结果是仅编译该文件。

请注意:对于根据现有源代码创建的 C/C++ 项目类型,IDE 不支持编译单个文件。

运行项目

args 程序是一个用于输出命令行参数的程序。运行程序之前,让我们在当前配置中设置一些参数,然后再运行程序。

要创建 Args 项目、设置参数并运行项目,请执行以下操作:

  1. 选择“文件”>“新建项目”。

  2. 在新建项目向导中,依次展开“样例”类别和“C/C++ 开发”子类别。

  3. 选择 "C/C++" 子类别,然后选择 Args 项目。单击“下一步”,然后单击“完成”。

  4. 右键单击 Args 项目节点,然后选择“生成项目”。将生成项目。

  5. 右键单击 Args 项目节点,然后选择“属性”。

  6. 在“项目属性”对话框中,选择“运行”节点。

  7. 在“参数”文本字段中,输入 "1111 2222 3333",然后单击“确定”。

  8. “项目属性”对话框的屏幕快照

  9. 选择“运行”>“运行主项目”。将运行应用程序,并在“输出”窗口中显示这些参数。

创建基于现有源代码的 C/C++ 项目

对于一个基于现有源代码的 C/C++ 项目,IDE 将根据现有的 makefile 来确定如何编译和运行应用程序。

创建基于现有源代码的项目

  1. 通过 http://sourceforge.net/projects/loki-lib 下载 loki-0.1.5 库。

  2. loki-0.1.5 解压缩到一个目录中。

  3. 选择“文件”>“新建项目”以打开“新建项目”向导。

  4. 选择“C/C++ 开发”类别。

  5. 选择“基于现有代码的 C/C++ 项目”并单击“下一步”。

  6. 在“Makefile 和生成操作”页中,单击“现有 Makefile”字段旁边的“浏览”按钮。在“选择 Makefile”对话框中,导航至存放 loki-0.1.5 的目录。选择 Makefile,然后单击“选择”。

  7. “工作目录”、“生成命令”和“清理命令”文本字段将被自动填充。在“生成结果”字段中,键入 makefile 用来存放库 libloki.a(由 loki-0.1.5 源代码生成)的完整路径。单击“下一步”。

  8. 新建项目向导中“Makefile 和生成操作”页的屏幕快照

  9. 在“源文件”页中,将自动列出项目源文件所在文件夹的路径。您可以通过单击“添加文件夹”并使用“选择源文件的文件夹”对话框来指定其他文件夹。

  10. 新建项目向导中“源文件”页的屏幕快照

  11. 在“项目名称和位置”页面的“项目名称”字段中,输入 Loki。对于其他字段,请使用缺省设置。单击“完成”。

  12. 新建项目向导中“项目名称和位置”页的屏幕快照

将创建项目并在“项目”窗口中打开此项目。这是一个对现有源代码进行了简单包装的项目。

生成和重新生成项目

要生成项目,请执行以下操作:

  • 右键单击项目节点,然后选择“生成”。

要重新生成项目,请执行以下操作:

  • 右键单击项目节点,然后选择“清理并生成项目”。

编辑源文件

C/C++ Development Pack 提供了高级的编辑功能,这些功能可以帮助您查看和修改源代码。为了说明这些功能,我们将以 Quote 项目为例。

  1. 选择“文件”>“新建项目”。

  2. 在新建项目向导中,依次展开“样例”类别和“C/C++ 开发”子类别。

  3. 选择“应用程序”子类别,然后选择 Quote 项目。单击“下一步”,然后单击“完成”。

在 C 和 C++ 文件中折叠代码块

对于某些类型的文件,您可以使用代码折叠功能来折叠代码块,以便只在源代码编辑器中显示代码块的首行。

  1. Quote1 应用程序项目中,打开“源文件”文件夹,然后双击 cpu.cc 文件以将其在源代码编辑器中打开。

  2. 单击位于左旁注的折叠图标(带有减号的小方块),可以折叠其中某个方法的代码。

  3. 将鼠标悬停在位于被折叠代码右侧的 {...} 符号上,可以显示此代码块的内容。

  4. 源代码编辑器中被折叠代码块的屏幕快照

使用类视图

利用“类视图”,您可以查看项目中所有的类、每个类的成员和字段。

  1. 选择“窗口”>“类视图”以打开 Quote1 项目的类视图。

  2. 展开 Quote1 节点。将会列出该项目中所有的类。

  3. 展开 Customer 类。

  4. “类视图”标签的屏幕快照

  5. 双击 customerName 变量可以打开 customer.h 头文件。

使用超级链接

超级链接导航允许您从调用类、方法、变量或常量的位置跳至其声明位置,并从其声明位置跳至其定义位置。

  1. Quote1 项目的 cpu.cc 文件中,右键单击源代码编辑器的左旁注,然后选择“显示行号”。

  2. 在按住 Ctrl 键的同时,将鼠标悬停在第 32 行上。此时,会突出显示 ComputeSupportMetric 函数。

  3. 函数调用的屏幕快照

  4. 单击超级链接,编辑器将跳至该函数的定义位置。

  5. 函数定义的屏幕快照

  6. 在按住 Ctrl 键的同时,将鼠标悬停在其定义上,然后单击超级链接。编辑器将跳至该函数在 cpu.h 头文件的声明位置。

  7. 函数声明的屏幕快照

  8. 单击编辑器工具栏中的后退按钮,编辑器将跳回至函数的定义位置。

使用代码完成功能

IDE 具有动态 C 和 C++ 代码完成功能,您只需键入一个或几个字符,就会看到一个可用来完成表达式的所有类、方法和变量等的列表。

  1. 打开 Quote1 项目中的 quote.cc 文件,右键单击源代码编辑器的左旁注,然后选择“显示行号”。

  2. quote.cc 文件的第 19 行上,输入大写字母 C 然后按 Ctrl-空格组合键。代码完成框将显示一个列表,其中包含 Customer 类。

  3. 代码完成框的屏幕快照

  4. 选择 Customer 类,然后按 Enter 键。

  5. 通过键入 "andrew;" 来创建一个新的 Customer 实例。在下一行中,输入字母 a,然后按 Ctrl-空格组合键。代码完成框将显示一个以字母 a 开头的列表供您选择,例如方法参数、类字段以及全局名称等,这些都是可以通过当前上下文访问的内容。

  6. 代码完成框的屏幕快照

  7. 选择 Customer andrew,并在其后键入一个句点。将会自动弹出一个 Customer 类的公共方法和字段的列表。

  8. 代码完成框的屏幕快照

使用代码模板

对于常用的 C 和 C++ 代码片段,源代码编辑器中有一组可以进行定制的代码模板。通过键入代码片段的缩写并按空格键,您可以获得该代码片段的全部内容。例如,在 Singleton.cpp 文件中:

  1. 键入 uns 并按空格键,uns 将展开为 unsigned

  2. 键入 iff 并按空格键,iff 将展开为 if () {}

  3. 键入 ife, 并按空格键,ife, 将展开为 if () {} else {}

  4. 键入 fori 并按空格键,fori 将展开为 for (int i = 0; i < ; i++) {}

使用配对完成功能

编辑 C 和 C++ 源代码文件时,源代码编辑器可以对那些成对的字符(如方括号、圆括号和引号)进行“智能”匹配。当键入其中一个字符时,源代码编辑器会自动插入相应的结束字符。

  1. Quote1 项目中,将光标放在 module.cc 第 99 行的 } 后面,然后按 Enter 键以开始新的一行。

  2. 键入 enum state {,然后按 Enter 键。将会自动添加右花括号和分号,并且光标将位于括号之间的位置。

  3. 键入 invalid=0, success=1 以完成枚举。

  4. 在枚举的右花括号 }; 下面一行,键入 if (,系统将自动添加右圆括号,且光标位于圆括号之间。

  5. 键入 v==null。然后在右圆括号后面换行并键入 {,系统将自动添加右花括号。

创建断点

您可以随时在代码中创建和处理断点。

创建和删除行断点

  1. Quote1 项目中,打开 quote.cc 文件。

  2. 在源代码编辑器中,单击第 197 行 (cout<<"Enter number of CPUs ";) 的左旁注以设置一个行断点。该行将以红色突出显示,以指示在此设置了断点。

  3. 您可以通过单击左旁注中的图标来删除断点。

  4. 选择“窗口”>“调试”>“断点”,可以打开“断点”窗口。您会看到窗口中列出了此行断点。

创建函数断点

  1. 选择“运行”>“新建断点”(Ctrl+Shift+f8) 以打开“新建断点”对话框。

  2. 在对话框中,请确保将“调试器”下拉列表设置为 "C, C++ Fortran (gdb)"。

  3. 将“断点类型”下拉列表设置为“函数”。

  4. 在“函数名称”文本字段中键入函数名称 Customer::DisplayCustomer。单击“确定”。

  5. “新建断点”窗口的屏幕快照

  6. 目前已完成函数断点的设置,并且该断点将被添加至“断点”窗口列表。

调试项目

当您启动一个调试会话时,IDE 将启动 gdb 调试器,然后在调试器内运行应用程序。IDE 将自动打开调试器窗口,并将调试器的输出结果显示在“输出”窗口中。

启动调试会话

  1. 要启动 Quote1 项目的调试会话,请右键单击该项目节点,然后选择“调试项目”。将启动调试器并运行应用程序,同时打开“局部变量”、“监视”和“调用栈”窗口。

  2. 选择“窗口”>“调试”>“会话”以打开“会话”窗口。将在此窗口中显示调试会话。

检查应用程序的状态

  1. Quote 应用程序将提示您在外部 I/O 窗口中进行输入。

  2. 在出现的 "Enter customer name:" 提示后面,输入一个客户名称。

  3. 应用程序将在您前面设置的函数断点处停止运行。选择“窗口”>“调试”>“断点”以打开“断点”窗口。窗口中列出了您在前面设置的两个断点。函数断点以粗体显示。

  4. “断点”标签的屏幕快照

  5. customer.cc 文件中,DisplayCustomer 函数第一行的断点图标上将出现绿色的程序计数器错误。

  6. 源代码编辑器的屏幕快照

  7. 单击“调用栈”标签。调用栈显示了两个框架:对 quote.cc 文件第 86 行上 DisplayCustomer 函数的调用,以及 customer.cc 文件的当前框架。

  8. 单击工具栏上的“步入”按钮,您会注意到由于存在对 iostream 库的调用而在调用栈中添加了该框架。

  9. “调用栈”标签的屏幕快照

  10. 单击“局部变量”标签,它显示了一个变量。单击展开图标(带有加号的小方块)以展开其结构。

  11. 单击“继续”按钮。将执行 DisplayCustomer 函数,并将客户信息输出至外部 I/O 窗口,然后提示您输入信息。

  12. 根据提示,输入响应信息。程序将在前面设置的行断点处停止执行。单击“局部变量”标签,它将显示一个很长的局部变量列表。

  13. “局部变量”标签的屏幕快照

  14. 单击“调用栈”标签,您会注意到调用栈中只剩下一个框架了。

  15. 单击“继续”按钮并继续根据“外部 I/O”窗口的提示输入响应信息,直至程序执行完毕。当您输入 Q 以退出程序时,外部 I/O 窗口将关闭并结束调试会话。要在程序执行完毕之前结束调试会话,您可以在“会话”标签中右键单击该会话,然后选择“结束”,或者选择“运行”菜单下面的“结束调试器会话”。

Bookmark this page

del.icio.us furl simpy slashdot technorati digg
Companion
Projects:
MySQL Database Server   GlassFish Community: an Open Source Application Server   Open Solaris  Open JDK: an Open SourceJDK   Mobile & Embedded Community     Sponsored by 
Sponsored by Sun Microsystems