C/C++开发工具GNUstep、FC++、GtkBuilder、Qt Designer介绍

以下为你介绍的C/C++开发工具都可用在Linux系统上:GNUstep(面向对象开发环境)、FC++(C++ 函数编程库)、GtkBuilder(GTK界面开发工具)、Qt Designer(基于 Qt 的用户界面设计工具)。

1、GNUstep(面向对象开发环境)

C/C++开发工具GNUstep、FC++、GtkBuilder、Qt Designer介绍

简单来说, GNUstep 是实作 OpenStep 介面的开放软体 (Open Source) 计划, 目标为提供跨平台的物件导向程式开发环境.

早在 1985 年, Steve Jobs 离开苹果电脑 (Apple) 后成立了 NeXT 公司, 并于 1988 年推出了 NeXT 电脑, 使用 NeXTStep 为作业系统. 在当时, NeXTStep 是相当先进的系统. 以 Unix (BSD) 为基础, 使用 PostScript 提供高品质的使用者图形介面, 并以 Objective-C 语言提供完整的物件导向环境.

尽管 NeXT 在软体上的优异, 其硬体销售成绩不佳, 不久之后, NeXT 便转型为软体公司. 1994 年, NeXT 与太阳 (Sun Microsystem) 合作推出 OpenStep 界面, 目标为跨平台的物件导向程式开发环境. NeXT 接着推出实作 OpenStep 介面的 OPENSTEP 系统, 可在 Mach, Microsoft Windows NT, Sun Solaris 及 HP/UX 上执行. 1996 年, 苹果电脑买下 NeXT, 做为苹果电脑下一代作业系统的基础, OPENSTEP 系统便演进成为 MacOS X 的 Cocoa 环境.

在 1995 年, 自由软体基金会 (Free Software Fundation) 开始了 GNUstep 计划, 目的在实作 OpenStep 介面, 以提供 Linux/BSD 系统一个完整的程式发展环境. 但由于 OpenStep 介面过于庞大, 开发人力不足, 及许多技术在当时尚未成熟 (如 Display PostScript), 所以直到目前为止, GNUstep 才算是一个完整的程式开发环境.

尽管 OpenStep 早在 1994 年便提出, 其介面及架构在现今仍相当先进及实用, 使得开发 GNUstep 程式相当容易.

GNUstep 使用 Objective-C 语言, 是 C 语言加上 SmallTalk 的物件导向的功能. 结合两者的优点, 又不至于像 C++ 如此复杂.

GNUstep 提供两个主要的程式库, Foundation 及 AppKit. Foundation 处理非图形介面的部份, 如字串, 档桉, 网路, 基本资料结构, 多行绪等, 又称之为 GNUstep Base. AppKit 则处理图形介面的部份, 包含视窗, 使用者介面等, 又称之为 GNUstep GUI.

由于 GNUstep 具有跨平台的特性, 有关绘图及字型的部份, 则交由 GNUstep Back 来处理. 使用者可依所使用的作业系统, 选择适当的后端处理 (Backend). GNUstep GUI 会自行处理与 Back 相关的功能, 程式开发者只要使用 GUI 程式库, 便可适用于各种后端上, 完全不用考虑平台问题.

目前 GNU GCC 3.x 支援 Objective-C 语言, GNUstep 则提供 GNUstep Make 来简化编译 Objective-C 程式. GNUstep Make 提供类似 Makefile 的功能, 称为 GNUmakefile. 与 Makefile 相比较之下 GNUmakefile 简单许多.

综合上述, GNUstep 实作 OpenStep 介面, 该介面已在商业市场上使用多年, 目前并演进成 MacOS X 的 Cocoa 环境. GNUstep 包含四个主要部份, 统称为核心 (Core):

1].GNUstep Make: 提供类似 Makefile 的功能, 称为 GNUmakefile, 较 Makefile 好用许多.

2].GNUstep Base: 提供 OpenStep 的 Foundation 程式库, 处理非图形介面的功能.

3].GNUstep GUI: 提供 OpenStep 的 AppKit 程式库, 处理图形介面的功能.

4].GNUstep Back: 提供与作业系统相关的后端处理, 提供 GNUstep GUI 有关绘图及字型的功能.

简单的说 GNUstep 其实也是要打造类似 KDE 或 GNOME 的整合式环境,只是说它用 的程式语言是 Object C, 而本身也有一套 GUI Toolkits 来开发,当然先进的物件导向设计是最让人印象深刻的.

下载地址:http://www.gnustep.org/

2、FC++(C++ 函数编程库)

FC++ 是最好的基于 C++ 的函数编程库开放源码实现,可以把它插入遗留的 C++ 代码中。BSFC++ 等项目中已经使用了 FC++,BSFC++ 是一个用 C++ 进行函数大规模同步并行编程的库。

FC++ 的编译方法:g++ user_source1.cpp –I<path to FC++ installation>

下载地址:https://sourceforge.net/projects/fcpp/

3、GtkBuilder(GTK界面开发工具)

自 gtk 的版本升到 2.12,它就包含了 GtkBuilder.

GtkBuilder 的作用和 libglade 一样,用来加载 glade 文件,所以,如果使用 GtkBuilder 来代替 libglade ,这样就可以在使用过程中,减少一个依赖.但是,glade-3.4.x (听说是在 3.5.x 开始支持),还没有支持 Gtkbuilder,那当我们使用 Gtkbuilder 的时候,需要用一个脚本进行转换下,脚本在 gtk 里面已经自带了.

gtk-builder-convert hello.glade hello.xml

然后,gtkbuilder 的函数,基本是和 libglade一样.

Gtk::Window* pWin=0;

static Glib::RefPtr<Gtk::Builder> refxml;

//加载UI文件

refxml = Gtk::Builder::create_from_file("hello.xml");

//获取构件指针的函数一样

refxml->get_widget("helloworld",pWin);

总的来说,使用 GtkBuilder ,可以减少一个依赖,GtkBuilder 自 gtk 2.12已经包含在里面了,所以,对于一些新程序,建议使用 GtkBuilder 比较好,毕竟等 glade 支持 GtkBuilder 也是就快的事了,现在最多就是用脚本转换下 glade 文件,并不麻烦,免得以后再修改代码.

4、Qt Designer(基于 Qt 的用户界面设计工具)

C/C++开发工具GNUstep、FC++、GtkBuilder、Qt Designer介绍

Qt Designer 是一个可视化的基于 Qt 的用户界面设计工具。用来生成 ui 定义文件,而不考虑具体的语言。

注明

以上就是C/C++开发工具GNUstep、FC++、GtkBuilder、Qt Designer的介绍内容,这些C/C++开发工具都能使用在Linux操作系统中。

栏目相关文章