ubuntu下用Eclipse完成C语言编程练习

转自:http://geyingzhen.blog.163.com/blog/static/655866552011117112710712/

2011-12-07 11:27:10|  分类:Linux C |字号 订阅

Eclipse是一款被广泛应用的开发工具,最初它是为编写Java程序而设计的,但由于它良好的架构并作为开源软件来发行,有很多的公司和个人以它为基础开发了插件,使得Eclipse有了越来越丰富的功能。

CDT (C/C++ Development Tooling)是Eclipse的一个插件,它为Eclipse提供了开发C/C++项目的支持,大家可以用它来编写自己的程序。

下面简单介绍一下Eclipse CDT的安装和使用方法。

Eclipse 的安装

Eclipse 是用 Java 语言编写的软件,要运行它,就必须首先安装Java虚拟机软件。要开发C语言的程序,就必须有C语言的Toolchain(编译器、链接器、调试器等各种系统工具),Eclipse中并不提供这些功能,我们需要单独安装。

安装 Java 虚拟机

Win32

从校内FTP服务器10.1.0.155下载Java虚拟机,并运行安装。

Linux

Ubuntu Linux 中已经带有 Java 虚拟机,执行命令:

  • apt-get install sun-java6-jdk

便可以安装。

安装 Toolchain (编译器、链接器和调试器)

Win32

在Windows上,我们可以使用GNU为我们提供的Toolchain,其中一个比较容易使用的版本是MinGW,它包括了GNU GCC、binutils、gdb等工具包。

可以从ftp://10.1.0.155/pub/Develop/IDE/Eclipse.CDT/mingw.exe下载,下载后执行,并将它们解压到C盘根目录中。注意,必须是C盘的根目录,不要吝惜你的C盘,编译器这样重要的东西绝对有必要放在上面。解压后,MinGW即被安装在C:\mingw内。

如果你希望能够从命令行启动gcc等程序,可以修改PATH,并将C:\mingw\bin加入其中。

Linux

大多数的Linux系统都会安装有GNU的Toolchain,在Ubuntu Linux上,如果你的系统没有安装,请使用命令

  • apt-get install build-essential

来安装。

安装 Eclipse For C/C++

从ftp://10.1.0.155/pub/Develop/IDE/Eclipse.CDT/下载跟自己的系统相对应的版本,并解压到磁盘上即可,不需要特殊的安装程序。这个版本的Eclipse,并未包含开发Java的功能。

运行Eclipse

在安装好Eclipse之后,执行该目录中的eclipse.exeeclipse文件即可开启它。由于Eclipse是一个功能非常丰富的系统,启动它会需要一些时间,特别是在配置比较低的电脑上。

选择Workspace

Eclipse一旦运行,便会弹出一个窗口,要求用户选择一个工作空间(Workspace),在Eclipse运行之后,所有的项目和文件缺省情况下都会存储在这个工作空间中,并且我们对Eclipse进行的任何设置也都是和Workspace相关联的。因此除非有特别的需要,没有什么必要经常切换工作空间。

选择好后点确定键,Eclipse会继续启动进程。

Eclipse窗口的组成

Eclipse的窗口由很多个部分组成,其中每一个部分称为一个View,而将一些View按照一定的布局组合在一起,则称为一个Perspective。每个View都有自己的功能,而不同的Perspective则通常适用于不同的工作。譬如"C/C++"这个Perspective通常用来做C/C++的开发,而"Debug"这个Perspective通常用来做Debug。

在屏幕的左上角,菜单的下面有按钮可以切换Perspective,同样,在Eclipse的菜单中也有项目专门用来做同样的事情。

开发C语言程序

创建项目

与TC开发不同,在Eclipse中开发程序,必须首先创建一个项目,然后才能在这个项目中编写自己的程序。否则即便编写了程序也没有办法编译、运行。创建项目的步骤如下:

  1. File | New | Project 见图
  2. 输入项目的名字,注意不要使用中文,这可能导致一些奇怪的问题
  3. 在Project Types中选择Hello World ANSI C Project,这个类型的项目对于我们的程序设计课程是很合适的,见图

  4. 点击Finish按钮

这时在项目列表中就会看到新创建的项目。

打开源文件

展开项目内容列表,会发现其中有src目录,展开该目录,可以看到一个与项目同名的C文件,双击这个文件即可看到Eclipse为我们生成的一个很简单的Hello World程序。我们可以直接对其进行修改,编写自己的程序。

编辑源文件

编辑源文件并不困难,Eclipse会将代码用多种颜色显示代码,并且会在文件编辑的过程中为我们维护代码缩进。除此以外,Eclipse还为程序员编写源代码提供了很多方便的功能,代码代码重排版就是其中的一个。

代码重排版

在编写代码的过程中,由于各种的原因,代码的格式会发生变化,会混乱,不再符合我们课程提供的要求。这时,可以使用代码重排版直接调整代码的格式。具体的操作步骤为:

  1. Ctrl-A选择全部源代码
  2. Ctrl-Shift-F对代码进行重排版

排版之后的格式基本上是符合我们的要求的,同时看起来也会更清晰。

Build

编写好代码之后,在执行程序之前首先是编译链接,在Eclipse中,这个步骤称为Build Project。点击工具栏上的锤子图标,如下图中(1)所示,

在Build时,若程序中有错误,Eclipse会将它显示出来。行首的红色或者黄色标记分别表示错误和警告,如图中(2)所示。错误的具体原因,会显示在屏幕的下方,如图中(3)所示。

如果有错误,Eclipse是不能生成最终的可执行文件的,在执行程序前,必须要修正所有的错误。

修改过源代码之后,Eclipse不会自动重新Build该项目,需要我们手工执行该操作,可以再次点击工具栏上的锤子型图标,也可以使用快捷键ctrl-b

执行程序

若Build Project成功,则可以运行程序。点击工具栏上的绿色Play图标或按快捷键“Ctrl-F11”即可运行程序。运行程序后,输入和输出都将在源代码编辑窗口下方的Console View中进行,最简单的方法是把网页上的输入内容直接复制粘贴到Console中。

调试 C 语言程序

开始调试

调试程序和执行程序不同,调试程序时我们可以使用断点、单步执行、Watch等工具来查看程序的运行状态。在Eclipse中可以直接使用GDB来调试程序,点击工具栏上的“虫子”按钮或者按快捷键“F11”便可以调试过程。

调试视图

开始调试后,系统会弹出一个窗口并建议我们切换的调试视图,这时可以点击“Yes”。调试视图与编码视图不同,主要是在代码上方显示出了正在执行的进程和当前函数中自动变量的值。

监视变量的值

有时我们要监视的变量的值并没有直接显示出来,这时我们可以让它在Expression视图中来显示。

Step Into 与 Step Over

单步执行,就是每次执行一行程序,执行完这一行程序后,调试器会将程序执行暂停,这时我们就可以去查看变量的值。

Step Into与Step Over都是单步执行,其差别在于当我们定义了一个函数,并在调用该函数的语句行上单步执行时,是进入到函数的内部还是将函数作为一个整体来执行。对于标准库函数如printf和scanf等,即便是使用Step Into,Eclipse也不会对这个函数进行单步执行。

设置断点

单步执行虽然可以让我们监控到程序每一步的状态,但对于比较大比较长的程序来说,一步一步运行未免太浪费时间。这时我们可以使用断点功能,让程序在某个指定的位置停止下来,而不是每运行一行都停下来。

当程序的执行在断点处停下来后,要使其继续运行,可以使用“Resume”功能。

终止调试

Eclipse可以同时调试多个程序,为了避免占用太多的资源,当发现了程序中的错误后,就应该终止调试。如果不将它们终止,这些被调试的程序所占用的资源也就不能被释放,会使系统的速度变得很慢。

常见问题

为何使用数学函数后Build Project时会出错

数学函数,如sqrtpow等虽然是C标准函数库的一部分,但它们被独立存储在数学函数库libm中,GCC在编译链接程序时,是不会自动链接该库的。我们必须手工修改配置让Eclipse在调用GCC编译链接程序时,将libm也加入到链接的文件列表中。具体的方法是:

  1. 在项目名称上点击鼠标右键,选择“Properties”
  2. 选择C/C++ Build | Setting
  3. 选择右侧的GCC C Linker下的Libraries
  4. 然后在Libraries(-l)列表中加上m,然后点OK

  5. 按Ctrl-b重新Build项目

如何方便地给编译添加参数

固然可以在project property里逐一添加参数,但有时候要添加几十条参数或者经常要换参数来测试编译,这样一来会很麻烦. 解决方法就是建立makefile项目(比如新建工程里的C++ makefile project). makefile文件里要求按照在终端输入的格式写入编译命令.非常方便修改.

有那些编译器可以选择

Linux 下一般采用GCC和G++ Windows下可以使用GCC和G++移植版本,比如MinGW这类项目. Windows下也可以才用VC++的编译器,但是现在Windows SDK提供的C++编译器只能使用makefile来编译,其命令为nmake


另参见:http://wenku.baidu.com/view/5ba0f6d4b9f3f90f76c61ba4.html


你可能感兴趣的:(Linux)