Anjuta—基于GTK+/GNOME的C/C++优秀开发环境

来源:互联网 发布:免费的收音机不用网络 编辑:程序博客网 时间:2024/06/07 11:35

UBUNTU10.10下软件包/开发工具里选择安装Anjuta,然后还要添加库:sudo apt-get install libpanelappletmm-2.6-dev

Introduction (简介)
Anjuta是一个为C/C++准备的集成开发环境(IDE)。他是为GTK+/GNOME而开发并具备一系列高级开发功能等特性。他为Linux和UNIX系列的各种命令行程序工具(通常那些工具都只能在字符界面运行,而且对用户不
Introduction (简介)
Anjuta是一个为C/C++准备的集成开发环境(IDE)。他是为GTK+/GNOME而开发并具备一系列高级开发功能等特性。他为Linux和UNIX系列的各种命令行程序工具(通常那些工具都只能在字符界面运行,而且对用户不够友好)提供图形接口。

Anjuta致力于解决复杂问题并为功能强大的字符工具提供简易使用的GNOME图形用户接口。尽可能的被设计成用户友好的操作方式。

Anjuta界面

 


开始熟悉anjuta
目录: 1.新手上路 2.菜单 3.常用快捷键 4.工具条 5.主窗口

新手上路: 要想运行anjuta,首先要打开Gnome的主菜单.在"开发"子菜单中你就会找到它.在红帽子8.0或者之后的anjuta版本可以在"其他"项子菜单和后来的编程子菜单. 图2.1 anjuta应用程序图标: [[Image:devt_menu.png] 点击anjuta图标来运行.IDE就会打开.还可以从终端进入,只要输入anjuta命令即可.如果anjuta是第一次启动.它将提供你一个欢迎信息.

菜单: 在anjuta的主窗口的顶部是菜单条.几乎所有的功能都能够通过点击适当的菜单项来实现.这些功能根据他们的类型被分类.例如,对文件的操作都被分在"文件"菜单项. 图2.2工具条 Missing image
Example.jpg
Image:Example.jpg

 

File Operations (文件操作)
3.1创建一个新文件并插入文本

3.1.1 创建一个新文件
3.1.2 文件向导
3.1.3 插入宏
3.2打开和保存文件 3.3编辑文件

3.3.1编辑器留白
3.3.2编辑器向导
3.3.3语法高亮显示
3.3.4代码折叠
3.3.5源代码自动套用格式
Compiling and Building (编译)
设置编译器选项
你可以定制编译器编译文件或者工程的方法。每个工程都将拥有它自己的编译器设置。如果在没有工程打开的时候修改了选项,这些设置将被分开保存并且将只在编译和建立单个文件时被应用。这些对用户都是透明的:Anjuta会自动地进行处理。

支持你的程序
你在前面小节中已经看到了如何指定基本的编译选项(比如头文件和链接库包含路径,连接器设置等)。当你想使用一些更加标准或者流行的链接库时,比如GTK和GNOME,这个过程会变得低效。为了使这些链接库的实现变得简单和避免不一致性,这个链接库的作者通常会随着他们的链接库一起提供一个配置程序(通常被命名为*-config)。
 

以上是理论部分。现在来看看实际的应用。Anjuta将会为你解决困难的部分,因此你不必为这些链接库的配置程序操心;只需将特定的支持添加到你的项目即可。
 

为你的程序添加一个链接库支持:
 

选择菜单项Settings > Compiler and Linker Settings并单击Compiler Options对话框中的Supports标签。
双击它们为你的程序选择支持。
再次双击任何已经选中的支持将会反选它们。
Supports对话框
可用的支持
当前,Anjuta仅有少数几个链接库支持选项Glib,GTK,GNOME和Bonobo。这些选项中的一些还没有得到完全的支持。

针对支持的编译器选项
包含路径
Include paths对话框
绝对或相对包含路径
链接库路径
Library paths对话框
绝对或相对包含路径
需要连接的链接库
Libraries对话框
定义宏
Defines对话框
编译器警告
Warnings对话框
代码优化
其他编译器设置
其他编译设置
Running and Testing (运行和测试)
执行程序
编译完成并生成可执行文件后,可以选择菜单项Build->Execute来执行,也可以使用快捷键F3来执行。如果你的项目有多个可执行文件,你可以指定执行哪一个,而且可以指定命令行参数。

依赖关系
与编译时不同,执行不检查依赖关系(至少暂时不检查)。换句话说,执行前并不检查可执行文件是不是最新的。因此,你必需自己注意。
 

图 5.1. 选择可执行文件并设置程序参数

 

Project Management (项目管理)
已分配

Debugging (调试)
注意
我们正在开发新改进的调试器。目前的调试器错误重重并且本章内容可能不是最新的!
调试简介
执行
断点
使用表达式
栈跟踪
栈窗口
栈跟踪窗口显示程序栈的内容。它按调用顺序列出了所有的函数及其参数。每个调用都有一个数字与之对应,该数字称为帧(Frame)。每个调用都是不同的帧。 0号帧代表最后一个调用的函数,按调用顺序依次类推。

选择菜单项View->Program Stack,打开正调试程序的栈跟踪窗口。

图 7.11. 栈跟踪窗口

 

栈跟踪窗口里的一个小箭头指向当前选择的帧。默认将指向0号帧,即最后一个调用的函数。表达式或变量的估值与监视与选择帧关联。要计算的变量或表达式的范围限制在选择帧里。监视窗口的表达式有同样限制。

设置当前帧
双击任何一帧将会把该帧设置为当前选择帧(箭头指向该帧,指示被选为当前帧)。或者,右键点击栈跟踪窗口打开操作菜单,选择菜单项Set frame设置帧。

当前帧信息
选择菜单项Debug->Information->Info Current Frame,将会打开一个描述当前帧的窗口,由此获取当前选择帧的信息。

图 7.12. 当前帧信息

 

更新栈跟踪窗口
右击栈跟踪窗口打开操作菜单,选择菜单项Update刷新栈栈跟踪窗口。

其它
调试器有很多其它不常用的特性,但仍然有用。

内核信号
Linux系统进程之间通讯方式之一是内核信号。单击菜单项View->Kernel Signals,将会弹出一个窗口,列出系统全部有效信号,并对每个信号有一个简短描述。

图 7.13. 内核信号窗口

 

收到信号后有三种行为:

1. Stop — 收到信号后,指示调试器是否停止程序的执行(并返回控制权)。

2. Print — 指示调试器是否显示收到的信号。

3. Pass — 指示调试器是否把信号传递给程序。

改变对接收信号的行为

如果需要改变调试器收到特定信号的行为,在列表里选择该信号,右键点击它打开操作菜单。选择修改信号(Modify Signal)。将会出现一个对话框,设置这三种行为并点击OK确定改变。

图 7.14. 修改内核信号对话框

 

向程序发送信号

如果需要向正在调试的程序发送信号,在列表里选择要发送的信号,右键点击它打开操作菜单,选择菜单项Send to process。出现一个确认对话框,单击OK确认即可发送给程序信号。

更新信号列表

右键点击内核信号窗口,出现操作菜单,选择菜单项Update更新内核信号窗口。

CPU 寄存器
单击菜单项View->Registers,弹出一个窗口,列出了所有微处理器可用的寄存器及其内容,由此可以查看CPU (微处理器)内部寄存器的内容。

图 7.15. CPU 寄存器窗口

 

.E5.8A.A8.E6.80.81.E5.8A.A0.E8.BD.BD.E5.BA.93">
动态加载库
单击菜单项View->Shared Libraries,弹出一个窗口列出程序加载的所有共享库以及这些库在内存的地址,并显示是否加载了符号表(Yes/No)。由此可以得到程序使用的动态库列表。

图 7.16. 共享库窗口

 

中断程序
程序运行中,不能执行调试任务。为获得正在运行程序的控制权,单击菜单项Debug->Interrupt Program。这会中断程序并把控制权交给调试器。

为使中断有效,设置调试器收到中断信号(SIGINT)的动作为[ Stop:Yes, Print:Yes, Pass:No ]。这是默认值。

Preferences(选项)
通过定制Anjuta的选项使其符合你的需求。单击Settings->Preferences弹出 选项对话框。如果你要重置所有选项为默认,点击Settings->Set Default Preferences。下面进行说明。

常规
1. Project Directory(工程目录):存放所有工程的路径。程序向导(Application wizard)只在这个目录下创建新的工程。默认工程目录是~/Projects,默认值适用于大多数用户。还有,当单击“打开工程”(Open project)时,这也是文选择器的起始目录。

2. User Info(用户信息):在这里填写正确的名字和电子邮件地址。不用于软件注册,而是用来创建ChangeLog 条目以及嵌入和其它文本里。

文件管理器
1. Root directory if no project is open(初始根目录):如果当前没有打开任何工程文件管理器的根目录。

2. File Filter(文件过滤器):可以从文件树滤出某些文件,例如隐藏文件 和被版本控制系统忽略的文件,它们通常在编译时生成不应被改变。

User-defined Tools(自定义工具)
简介
通常你会发现Anjuta提供的内建功能有限。这可能促使你增加自己所需特性到Anjuta的代码库里,或提交一个实现某特性的请求。但是,这两个方法很可能出现问题而且进展缓慢,尤其是当你的工具比较专业和特殊的时候。这种情况下最好使用Anjuta工具框架来取代其他方式。 Anjuta为构造自定义工具提供了一个强大的框架来扩展其功能。利用变量自定义工具可以使用几乎所有IDE的特性。你可以在任一菜单项下增加自定义工具,在GUI框架里指定输入、输出和错误重定向,并且提供该工具的命令行参数。

注意
使用工具插件需要激活(Enabled)!
工具示例
这是一个简单的例子展示如何使用工具插件,该插件集成了GNOME ChangeLog生成脚本。

图 9.1. 工具编辑器

 

Authors(作者)
Anjuta项目由Naba Kumar创立,查询该项目所有贡献者请访问网页http://anjuta.sourceforge.net/credits 。

关于Anjuta的更多信息,请访问该项目的站点http://anjuta.org 。在项目开发网站http://www.sourceforge.net/projects/anjuta 使用软件缺陷追踪系统(Bug Tracker)报告Bug。

这个手册由Naba Kumar 和 Andy Piper编写。对该手册的意见和建议请发送到Anjuta 开发列表 <anjuta-devel@list.sourceforge.net> ,也可以通过SourceForge的项目追踪系统递交。

License(许可)
本程序是自由软件,你可以重新发布它或者在自由软件基金公布的GNU GPL的条款下修改它,遵循的GPL可以是版本2或更高的版本。
 
本篇文章来源于:开发学院 http://edu.codepub.com   原文链接:http://edu.codepub.com/2009/0528/4806.php本篇文章来源于:开发学院 http://edu.codepub.com   原文链接:http://edu.codepub.com/2009/0528/4806.php

原创粉丝点击