Eclipse CDT 使用笔记

作者 Marlous 日期 2019-03-06
Eclipse CDT 使用笔记

参考:
1、 官方文档
2、 「C语言」Windows+EclipseCDT下的C语言开发环境准备
3、 「C语言」在Windows平台搭建C语言开发环境的多种方式
4、 Eclipse CDT环境下编写、调试、运行C++程序详谈
5、 Eclipse开发C/C++之使用技巧小结,写给新手

一 安装

  • Eclipse 最初是 Java 开发,用于写 Java,后来拓展可以写 C、PHP…
  • Eclipse 需要 Java 的运行环境,Eclipse CDT 是用来写 C 的,所以还需要 C 语言的编译器。
  • 安装 Java 开发环境包(JDK)、编译器 MinGW(将 GCC 编译器和 GNU Binutils 移植到 Win32 平台下的产物,包括一系列头文件 Win32 API、库和可执行文件,安装教程)。

二 简介

简介

  • 简介:
    按顺序:菜单栏、工具栏、侧边栏(显示当前目录文件调试文件等)、代码编辑区、调试信息信息显示、状态栏。
  • 创建一个工程项目,菜单栏 File 中,会显示装好的 MinGW。
    创建一个工程项目

  • 右键工程名,Build Configurations -> Build All,会多出三个文件夹( a)Binaries:存放所有编译后的二进制文件,这里主要是用于 Debug,Release 的二进制文件,而且 Binaries 目录只能在 Eclipse 中才能看到,从电脑磁盘上面是直接看不到的。/ b)Debug:里面包含两个文件(.exe与.o)。这里 .exe 文件是可以直接执行的文件,因为在 Debug 目录里面,表明它只用于 debug;而 .o 文件则是一个 object 文件,即目标文件,编译器产生的,对源代码的 “直译”,未经过连接等操作的目标代码。注意:代码编译后生成目标文件(即 . o文件),目标文件经过连接后才能变成.exe文件。/ c)Release:也包含两个文件(.exe与.o)。这里 .exe 文件是可以直接执行的文件,因为在 Release 目录里面,表明它只用于发布运行;.o文件则也是一个 object 文件,原理同 Debug 里面的 .o 文件。)

  • 右键工程,在 Build Configurations -> Set Active 中设置使用 Release 还是 Debug 版程序。

  • 点斧头图标是构建,只生成 Debug 的,但不会生成或更新 Release 文件夹。Build All 是全部重新编译。

  • 菜单栏 Run,运行配置 Launch Configuration,描述了怎样运行程序,可以创建多个运行的方式(debug 程序,选择前面按钮以 Run 或 Debug 运行; release 程序选择 Run 运行);开发的时候使用 Windows 的命令行,来运行一些独立的程序用 External Tools Configurations。删除在 Run 菜单中的配置中右键删除。

  • 菜单栏 Windows -> perferences 中是全部设置,Windows 菜单中选择是否显示一些状态栏。

  • 单步调试:
    见菜单栏按钮。

  • 断点调试方法:
    参考博文:Eclipse C/CPP 调试教程

  • 调试信息变量值查看:
    查看变量的值、汇编代码。
    调试信息变量值查看
    如下图。修改代码,可以看到,变量信息的十六进制数字并不是内存地址,是具体存的值。
    调试信息变量值查看

  • 调试查看变量内存地址:
    调试查看变量内存地址

  • 直接使用 gdb 命令调试:
    参见 eclipse CDT中如何手动输入gdb命令

三 基本设置等

参见博文:Eclipse开发C/C++之使用技巧小结,写给新手

  1. 代码提示:
    Eclipse CDT 写 C 的功能没有 Eclipse 写 Java 的强大,可以在 perferences 中对编辑器设置。关于 Java 的代码提示设置见参考,修改增加触发点达到所有字母自动触发,CDT 则没有。

  2. 调试带参数的程序:
    “run” -> “run configuration” -> “arguments” 里面,设置程序参数。

  3. Eclipse CDT 调试时输入输出:

  1. 其它问题:
  • printf 函数内不加 \n 可能会报错,debug 时也会报错。

四 构建方法小结

  • 选中项目,右击。
  • Set Active 来选择当前是构建 Debug 版本,还是 Release 版本。
    构建小结