DevC使用说明

DevC使用说明
DevC使用说明

附录3D e v-C++操作手册

Dev-C++是一个可视化集成开发环境,可以用此软件实现C/C++程序的编辑、编译、链接、运行和调试。本手册中介绍了Dev-C++常用的一些基本操作,包括创建、编译、链接、运行和调试C源程序和C工程,希望每一位读者都要熟练掌握。

1.启动Dev-C++

方法一:

1.首先鼠标点击任务栏中的“开始”按钮,选择“程序”菜单项,然后选“程序”下的子菜单项“BloodshedDev-C++”项,显示该项下的子菜单。

2.单击”Dev-C++”菜单项,即可启动Dev-C++集成开发工具。(如图1所示)

图1启动Dev-C++

方法二:

我们也可以通过直接单击桌面上的Dev-C++的图标来启动该开发工具。

2.新建源程序

1.要新建一个源程序,可以从主菜单选择“File”->“New”->“SourceFile”(中文环境下为“文件”->“新建”->“源代码”)即可(如下图2所示)。

图2新建源程序

如果大家看到界面上的字是中文的,则可以根据以下操作将界面改为英文。点击主菜单“工具”->”环境选项”,在弹出的对话框中选择“界面”页,在Language下拉列表中选择“English”即可,如下图3所示。此时界面上的菜单、工具条等就会全部显示其英文命名。

图3更改界面语言

2.此时屏幕右下侧出现一片白色区域,可以在此输入新的程序。如下图4所示。

菜单

工具栏

源程序编辑区域

输出标签页

图4Dev-C++开发环境功能布局

3.保存源程序到硬盘。

一个好的习惯是创建了一个新程序后,在还未输入代码之前先将该程序保存到硬盘某个目录下,然后在程序的编辑过程中我们也要经常性地保存程序,以防止机器突然断电或者死机导致工作成果丢失。要保存程序,只需从主菜单选择“File”->”Save”就可以将文件保存到指定的硬盘目录。如图5所示。

图5保存文件

此时会弹出一个对话框,如图6所示。在此我们需要指定文件要存放的目录(此处为F:\temp),文件名称(此处为test)以及保存类型(此处为*.c)。需要注意的是,在保存类型处一定要选择“Csourcefiles(*.c)”,意思是保存的是一个C文件。在点击右下角的保存按钮后,在temp目录下将会出现一个名为test.c的C源文件。

图6指定要保存文件的路径和名字

对于刚创建且未进行任何编辑的程序,主菜单的“File”->”Save”菜单是灰色的,此时需要从主菜单选择“File”->”SaveAs”来保存;此外,对于正在编辑的程序,如果你想对其进行重新命名或者将其保存到另一个磁盘目录下,也可以用“File”->”SaveAs”菜单,如图7所示。

图7使用SaveAs保存文件

4.在程序编辑区域编辑程序。

如图8所示。在输入程序的过程中记得要随时对程序进行保存(使用菜单“File”->”Save”,或者用组合键Ctrl+s),此时会将程序以相同名字重新保存到之前指定的目录下,如F:\temp,覆盖掉之前的同名文件。

图8在程序编辑区域编辑程序

需要注意以下两点:

1)编辑时除了字符串和注释,其余部分要使用半角字符。全角字符和半角字符外观很像,尤其是全角分号和半角分号,全角括号和半角括号,不仔细看很难分辩清楚,因此程序输入时要小心,避免此类问题。

2)在Dev-C++环境下,为了查看程序运行结果,需要在main函数的return语句前加上:system("PAUSE")或system("pause"); 这样程序运行到该语句时,结果显示屏幕将会停留,让我们有时间观察程序的输出结果。否则结果显示屏幕将会一闪而过。

3.预处理、编译、链接程序

从主菜单选“Execute”->“Compile”(“运行”->“编译”)或快捷键“Ctrl+F9”,可以一次性完成程序的预处理、编译和链接过程。如果程序中存在词法、语法等错误,则编译过程失败,编译器将会在屏幕右下角的“CompileLog”标签页中显示错误信息,如下图9所示,并且将源程序相应的错误行标成红色底色,如图10所示(由于删除了printf语句后面的分号,编译时报错,提示system语句前面的语句有语法错误(syntaxerror))。

图9编译错误显示

图10编译提示错误行

“CompileLog”标签页中显示的错误信息是寻找错误原因的重要信息来源,每一位读者都要学会看这些错误信息,并且每一次你碰到错误并且最终解决了错误时,要记录错误信息以及相应的解决方法。这样以后看到类似的错误提示信息,能熟练反应出是源程序哪里有问题,从而提高程序调试效率。

排除了程序中存在的词法、语法等错误后,编译成功,此时在源文件所在目录下将会出现一个同名的.exe可执行文件(如test.exe)。双击这个文件,即可运行程序。

4.运行程序

对程序进行预处理、编译、链接后,可以有两种方法运行程序。第一种方法是双击生成的.exe文件;第二种方法是直接在Dev-C++环境下从主菜单选“Excute”->“Run”或快捷键“Ctrl+F10”运行程序。如图11所示。

图11运行程序

5.调试程序

通过预处理、编译和链接的程序仅仅说明该程序中没有词法和语法等错误,而无法发现程序深层次的问题(譬如算法不对导致结果不正确)。当程序运行出错时,我们需要找出错误原因。仔细读程序来寻找错误固然是一种方法,但是有时光靠读程序已经解决不了问题,此时需要借助于程序调试(Debug)手段。这是一种有效的排错手段,每一位读者都需要掌握。调试程序的步骤为:第一步:设置程序断点;第二步:进入调试运行状态;第三步:单步执行程序。在执行过程中通过设置、查看watch窗口来辨别程序运行状态是否正确。

1.设置程序断点。

调试的基本思想是让程序运行到你认为可能有错误的代码前,然后停下来,在人为控制下逐条语句的运行。通过在运行过程中查看相关变量的值以及程序执行路径,来找到错误所在位置、分析错误产生原因。如果想让程序运行到某一行前能暂停下来,就需要将该行设成断点。具体方法是在代码所在行行首单击,该行将被加亮。默认的加亮颜色是红色。如图12所示,将system(“pause”)语句设成断点,则程序运行完printf语句后,将会暂停。需要说明的是,你可以在程序中根据需要设置多个断点。

如果想取消不让某行代码成为断点,则在代码行首再次单击即可,此时代码的红色底色消失。

图12设置一个断点

2.进入调试运行程序状态。

设置断点后,此时程序运行进入debug(调式)状态。要在调试状态下运行程序,就不能使用主菜单“Execute”->“Run”,而是需要用主菜单“Debug”->“Debug”(或者按快捷键F8),进入调试运行状态。如图13所示。

图13调试菜单项

程序将运行到第一个断点处暂停,此时断点处加亮色由红色变成蓝色,表示接下去将运行蓝色底色的这行代码,如图14所示。

图14 程序运行到断点处

注意:有时你会发现即使设置了断点,点击了主菜单“Debug”->“Debug”,程序还是不在断点处停留。解决方法:取消断点,重新编译程序,然后再设置断点,点击主菜单“Debug”->“Debug”即可。

3.单步执行程序。

要想运行蓝色底色的代码,可以使用图15所示的“NextStep(F7)”、“StepInto(ShiftF7)”、“Continue(CtrlF7)”,“RuntoCursor(ShiftF4)”等(具体含义见下面的介绍)。在学习函数之前,一般用的是NextStep和Continue。学习函数后,还会用到StepInto。

Debug菜单如左图所示。和单步运行相关的

菜单项说明如下:

NextStep(F7):运行下一行代码;如果下一

行是对函数的调用,不进入函数体;

StepInto(shiftF7):运行下一行代码,如果

下一行是对函数的调用,则进入函数体;

Continue(CtrlF7):运行到下一个断点处;

RuntoCursor(ShiftF4):运行到光标所在处;

图15Debug菜单

在调试程序时,往往要观察程序运行过程中变量的值,以检测程序对变量的处理是否正确,可以在调试时,选择主菜单“Debug”->“AddWatch”(F4)这一项,我们会看到弹出提示框用于输入变量名,这时可以根据调试需要,输入要观察的变量名,该变量随后将会显示在最左边Explore的Debug页中,如下图16所示。如果左边小窗口中的当前页不是Debug 页,则可以点击Debug标签使之成为当前页。

图16查看变量当前值

6.创建、编译、运行工程

到目前为止,编写的程序都是放在一个“.C”文件中。如果程序很小又很紧凑,确实应该把所有的源代码写在一个“.C”文件中。但如果你发现自己编写了许多函数(特别是通用函数),那么你就应该把程序分解成几个源文件(也叫做模块)。

把一个程序分解成几个源文件的过程叫做模块化程序设计(modularprogramming)。模块化程序设计技术提倡用几个不同的结构紧凑的模块一起组成一个完整的程序。例如,如果一个程序中有几种、屏幕函数和数据库函数,你就可以把这些函数分别放在三个源文件中,分别组成实用模块、屏幕模块和数据库模块。

工程用于管理同一个程序的多个文件,包括源文件和头文件等。在此,我们介绍如何创建一个新的工程,如何把文件添加到工程,如何从工程中删除文件,如何编译、链接、运行工程。这些是很基本的操作,请读者熟练掌握。

假设我们有一个名为“猴子选大王”的工程,工程包含的文件如下图17所示。下面我们对这些文件做一介绍:

猴子选大王.dev:这是Dev-C++环境下的工程文件,一个工程对应一个这样的文件,里面记录了工程相关的信息,例如工程包含哪些文件、各个文件的名称和保存路径等。读者可以用文本编辑器打开看一下该文件的内容。当要打开工程的时候,只需要双击该文件即可。

linkNode.h和link.h:工程包含的两个用户自定义头文件。

main.c和link.c:工程包含的两个源文件。

main.o和link.o:main.c和link.c分别编译得到的目标文件。

猴子选大王.exe:对工程进行编译、链接后得到的可执行程序。

Makefile.win:对工程进行编译时Dev-C++环境创建的文件。

可见,main.o、link.o、Makefile.win和猴子选大王.exe这四个文件是对工程进行编译链接得到的文件。

图17一个工程包含的文件

1.新建工程

点击菜单,选择File(文件)->new(新建)->Project(工程),如图18所示。

图18新建工程

在弹出窗口的Basic页中选择ConsoleApplication(控制台应用程序),输入工程名称,选择是CProject(C工程),点击OK。如图19所示。

图19设置工程属性

此时弹出对话框,要求指定工程存放路径。设置好路径后点击保存。此时系统往工程中自动加入main.c文件,如图20所示,文件中的代码是系统自动生成的。

图20工程中的main.c文件

2.向工程中添加文件

首先将已经存在的linkNode.h、link.c和link.h三个文件拷贝到工程所在目录(假设为G:\temp\testProject)下,然后点击主菜单Project(工程)->AddtoProject(添加),如图21所示,在弹出的对话框中选择要添加的源文件,然后点击打开,如图22所示。

图21添加文件到工程

图22选择要添加的文件

此时在左侧工程管理Project页中出现了加入的这3个文件,如图23所示。

图23Project页出现了新加入的文件

在当前工程中还可以新建或移除一个文件,选择Project(工程)->NewFile(新建文件)创建一个新的文件,然后在保存路径处指定路径,即将该新建的文件添加到工程中。而如果选择Project(工程)->RemoveFormProject(从工程移除),则从工程中移除文件(注意该文件还存在于磁盘上,从工程中删除只是解除了和工程的关系)。

3.编译和运行

工程的编译和运行和单文件程序的编译和运行基本一样。但是在工程中存在多个文件的情况下,可以使用主菜单Execute(运行)->Compile(编译)(Ctrl+F9),编译当前工程中的所有文件;也可以使用主菜单Execute(运行)->Compilecurrentfile(编译当前文

件)(Shift+Ctrl+F9),编译源程序编辑区域当前打开的文件。

7.打开一个已经存在的程序或工程

打开一个已经存在的源文件或工程进行编辑是最常见的操作。方法是点击主菜单

的”File”->”OpenProjectorFile”(打开文件或工程),如图24所示,如果是打开单个文件,则在弹出的对话框中指定文件所在的路径,选择要打开的文件即可;如果是打开工程,则在弹出的对话框中指定工程所在的路径,选择要打开的工程对应的.dev文件即可。

图24打开文件或工程

8.提高程序书写风格的一些操作

1.整段缩进

运用适当的缩进,可以提高代码的可读性。但是如果靠人工一行一行的缩进,那将是非常枯燥的事情。Dev-C++环境支持整段缩进。方法是首先选中要缩进的代码段,然后点击主菜单下的”Edit”->“Indent”,如图25所示,即可将整段代码右移N个字符。

图25整段缩进代码

每一次缩进要移动的字符数可以自己定制,方法如下:点击主菜单下的”Tools”->“EditOptions”,在弹出的对话框中的General标签页中进行设置,将TabSize设置成我们希望的数字,建议设成4,如图26所示。该对话框提供了定制Dev-C++的界面编辑风格的功能,有兴趣的读者可以自己研究一下。

也可以点击”Edit”->“Unindent”使整段代码往左移。

图26定义TabSize的大小

2.插入程序说明

为了简要说明程序的功能和各个函数、变量的作用,增强程序的可读性,我们可以在程序中插入适当的说明。点击”Edit”->“Insert”->“CommentHeader”,如图27,从而在程序编辑区光标处插入一段注释,用于说明程序名称、作者和程序功能等,插入后的效果如图28所示。

图27插入程序说明

图28插入后的程序说明

附录4Dev-C++环境下常见编译错误信息中英文对照

说明:此编译错误的对照信息适用于Dev-C++环境中基本的C语言编程,对于C++(类)编程不包括在其中。

英文提示信息中文解释补充说明

'xxx'undeclared(firstuseinthisfunction) 名为‘xxx’的

常量或变量一般由以下几种情况导致此编译错误的发生:

这些就是自动插入的

程序说明部分

相关主题
相关文档
最新文档