开发随笔-学习c++的思考,没有mfc,该怎么做??

来源:互联网 发布:英语口语打分软件 编辑:程序博客网 时间:2024/04/27 15:19

因为最近项目的原因,这段时间特意把c++的书翻了出来,开始恢复c++了。

c++因为在学校学习的时候感觉很困难,这也是我毕业后选择.net的原因之一了。因为项目是在windows下开发,主要是虚拟现实方面的应用,主要就是利用vc++ mfc跟虚拟现实软件 virtools sdk打交道。

毕竟以前用过c++,恢复起来还是比较快的。c++基础->>windows32 api编程->>vc++ mfc,找了些以前的教程和网上下载的《vc深入详解》。看了大约3个星期,基本的东西算恢复了大概,也就是基本的mfc开发没什么大问题了,后面还需要继续看的。

在上次做c++时隔6年之后,看c++,感觉容易了很多。算是解决了心里一个病根,其实我一直想做c++,现在有机会做还是挺高兴的。也是借此机会,好好学习下c++的东西。

以前无论是c++基础还是mfc都感觉比较困难,现在想来以前学的时候心里总是认为c++很难,现在再看,虽然它不像c#简洁,讨厌的宏依然存在,但是作为面向对象的语言,封装,继承,多态的实现方式跟c#虽不同,但思想一致。vc++作为windows下的ide,包含的mfc其实就是个类库而已,只是它复杂些而已。

想到这里,不由在想mfc这么早的类库既然复杂,不用mfc, 怎么做界面编程呢,下面是我找的一篇常见的c++ gui库。

http://www.lupaworld.com/article-217972-1.html

现在我们要给开发者分享几个C++GUI库。我希望这些库能帮助开发者开发出更优美的软件。

  • C++是一个多范式,自由编译格式的,对于日常编程应用非常强大的语言。这种语言被认为是一种中间层次的语言。主要是因为他同时包含了底层和高层的语言的特性。
  • C++因为很多原因非常流行。它的领域很广,包括系统软件、设备驱动、应用软件和其他客户端软件以及娱乐软件比如电子游戏。
  • GUI是图形用户界面的缩写,就是说允许用户通过图形的方式而不是通过命令行的方式操作电脑。

1、Qt

QT是一个跨平台的应用程序和用户界面框架。他包括一个跨平台的类库,整合了开发工具盒跨平台的IDE。使用QT,你可以写一次程序而跨平台部署,包括许多桌面平台和嵌入式操作系统。

2、Fltk

FLTK(flltick)是一个跨平台的C++GUI工具,支持的平台有UNIX/Linux(X11)、Windows和MacOS X。FLTK提供了通过基于GLUT的OPENGL支持3D绘图。FLTK设计的小巧,可以以静态库的方式很好的模块化,但是同样可以以动态库的方式运行。FLTK还包括了一个叫做FLUID的优秀的UI构建器,可以再几分钟内创建出优秀的应用程序。

3、Fox Toolkit

FOX是一个基于C++的用于快速高效的开发图形用户界面的工具包。他提供了宽范围的,可扩展的控件集,还支持一些其他效果,例如拖拽,选择等。同样它也可以通过OPENGL提供3D绘图的支持。FOX还实现了图标、图像,状态狼提示,工具提示等非常方面的图形接口。

4、Gpe Phone

GPE Phone Edition 是为了开发在移动Linux设备上,特别是手机上的基于GTK/GPE的软件栈。

5、Lgi

LGI是一个GUI框架,这个框架可以抽象出所有操作系统的依赖,你可以利用它写出可移植的代码。他可以处理所有图形界面的功能,线程、信号量、网络连接和其他的一些小的功能,以此来构建出小巧的快速的可靠的应用程序。

6、Wx Windows

wxWidgets是一个为Windows 、OSX、Linux 和UNIX的C++类库,同事支持32位和64位。他也支持一些移动平台,例如Windows Mobile、iPhone SDK以及嵌入式GTK+。

7、Ultimate++

U++是一个C++跨平台的快速开发应用程序的框架。它包括了一套库包括(GUI、SQL、等等),也有整合的开发环境。

8、Zoolib

Zoolib允许你只处理很少一部分跟平台独立的代码的同时构建出跨平台的原生应用。它使用提供的预处理符号,包括内联通过条件编译等特性食指非常简单易用。

 

如果不在windows 下做c++,其他平台的ide呢:

http://www.cnbeta.com/articles/188721.htm

集成开发环境(IDE)可以给程序员提供很大的帮助。大多数的IDE包含编译器和解释器。例如微软的 Visual Studio 本身内置的编译器和解释就是很好的例子,Eclipse 是另一个很好的例子。鼓励程序员使用IDE的主要原因是开发软件应用程序的各个组成部分之间可方便的进行切换。

一般一个特定的IDE是负责处理一种编程语言,但也有一些支持多种编程语言的 IDE,例如 NetBeans,Microsoft Visual Studio,MyEclipse,WinDev和Xcode等等。IDE 的宗旨是提供了一个强大和易于使用的用于创作,修改,编译,部署,调试软件,并增加开发人员的生产力的环境。

今天,我们将为程序员分享一些最好的C和C++的免费IDE。
1) Codeblocks
Code::Blocks (codeblocks)是一个开源、免费、跨平台的c++ IDE。官方网站上称其能满足最苛刻的用户的需求。虽有点夸张,但既然敢这样说,也说明它的功能肯定不差。可扩展插件,有插件向导功能,让你很方便的创建 自己的插件。Code::Blocks是用c++编写的(用wxWidgets库),捆绑了MinGW编译器。



2) kDevelop KDevelop-Project诞生于1998年,其目的是为KDE提供一个易用的集成开发环境(Integrated Development Environment)。此后,KDevelop IDE采用GPL进行发布, 它支持很多 程序设计语言.



3) Pellesc Pelles C是一款windows下的C IDE,支持调试,且为免费。
它有一个高效率的链接器,目前已被广泛采用为各种语言的后台链接器使用LCC作为编译器
并且完整支持win32编程,支持任何API调用,包含所有winAPI的库且含有完整 C Runtime Library。



4) Anjuta Anjuta是一个C/C++ IDE,它最大的特色是灵活,同时打开多个文件,内嵌代码级的调试器(调用gdb),应用程序向导(Application widzards)可以方便的帮助你创建GNOME程序而不需要你自己写一些与你兴趣无关的代码。



5) Bloodshed Dev-C++是一个Windows下的C和C++程序的集成开发环境。它使用MingW32/GCC编 译器,遵循C/C++标准。开发环境包括多页面窗 口、工程编辑器以及调试器等,在工程编辑器中集合了编辑器、编译器、连接程序和执行程序,提供高亮度语法显示的,以减少编辑错误,还有完善的调试功能,能 够适合初学者与编程高手的不同需求,是学习C或C++的首选开发工具!多国语言版中包含简繁体中文语言界面及技巧提示,还有英语、俄语、法语、德语、意大 利语等二十多个国家和地区语言提供选择。



6) Eclipse CDT Eclipse CDT 是 Eclipse 插件,它将把 Eclipse 转换为功能强大的 C/C++ IDE。它被设计为将 Java 开发人员喜爱的许多 Eclipse 优秀功能提供给 C/C++ 开发人员,例如项目管理、集成调试、类向导、自动构建、语法着色和代码完成。当 Eclipse 被用作 Java IDE 时,它将利用 JDK 并与之集成。同样地,CDT 将利用标准的 C/C++ 工具并与之集成,例如 g++、make 和 GDB。这使得 CDT 在 Linux 中变得非常流行,这些工具都可在 Linux 中使用并用于大多数 C++ 开发。可以在 Windows 上设置 CDT 以使用相同的工具。



7) Visual Mingw
Visual-MinGW 是一个专门为MinGW所设计的IDE。如果,你曾经用过VC++ 6.0这个IDE,你的第一感觉就是,Visual-MinGW和VC++ 6.0非常相似。所以,对于曾经用惯VC的朋友们来说,Visual-MinGW不失是一个好的选择。然而,Visual-MinGW的开发与更新似乎并 不积极。因此,还有不足的地方。Visual-MinGW的理念是提供一个高效的,快速的创建代码的IDE。



8) Ecere
eCere,一门“新”的编程语言,以下简称为“eC”。

eC,是一位加拿大人jerome历时十二年开发的一门编译型编程语言,拥有C++项目的性能、Java的跨平台性以及Python语法的简洁性。 不似Object C、C++和C#,eC更像是一个C语言的Shell,他将程序员与C之间的复杂性隔离开来,还有就是他在跨平台支持方面要更优越一些。eC不仅给传统的 C语言引入了完整的OO编程实现,其真正强大之处在于作者目前所实现的C库,包括一个内建的3D引擎实现(支持Direct3D和 OpenGL)和一套接近于VB的GUI库实现以及对网络编程的支持。



9) Relo
Relo是一个帮助开发人员研究大型代码库的好工具,它能够一步步的跟踪你所展开的代码包,并快速生成类似UML的类图。



10) Ultimate++ U++是一个开源的跨平台C++ RAD平台,作者从98年就开始开发,到今年持续了十一年了。U++一直都是一个非常非常小众的开发平台,几乎没什么人用,与当今火红的几个开源C++ Framewrok比如wxwidgets, QT等相比,它实在是被人冷落的可以。换做旁人早就歇菜了,在SourceForge上搜一下,能搜出一堆半路夭折的C++Framework。而U++ 却仍在不断的开发中,可算是特立独行。


总结:

c++作为老牌开发语言,这么多年的积累,也诞生了很多开源的集成开发环境,绝非vc一个了。

引用自:http://blog.csdn.net/hliq5399/article/details/7601822