2007年1月23日星期二

程序员常用工具、软件库网址

Cross-platform GUI ToolkitsQT我认为QT是目前为止最强大的跨平台的GUI库,Linux界面GDK就是使用QT开发的,它提供Open Source的版本和商业版本,可惜用Open Source版本开发的软件必须也是Open Source的,若用来开发商业软件就要支付使用QT的费用。用途开发GUI界面非常简单,而且程序效率很高,特别在2D绘图方面,比GDI Plus强很多
wxWidgetswxWidgets是另一个跨平台的库,是完全免费的,可以用来开发商业软件,而且它是native的,在windows下它封装了windows API,在Linux下封装了GTK+,所以其开发的软件编译后要比使用QT时小很多。学习wxWidgets也不是很难,但它还是不如QT简单,而且不如QT强大,为了对不同的平台的API的封装都提供相同的封装函数,很多平台特有的功能它没有封装进去,所以过于简单,需要特有的API时不得不使用native的API
GTK+GTK+是因为QT版本的限制而发展起来的,linux的GNOME界面就是使用GTK+开发的,目前在windows下也可以使用,并且可在VC下编译,只是GTK+在windows下的界面不是很好看,不如在linux下的GNOME界面那样惊艳。而且GTK+学习起来不容易,不如QT简单,对中文的支持也是很头疼的事情。不过GTK+和wxWidgets一样是完全免费的,并且可以用来开发商业软件
IDECodeBlocksCodeBlocks是使用wxWidgets开发的一个IDE,可以用来开发C、C++程序,支持QT、wxWidgets、Win32等开发,支持GCC、VC、Borland C++等编译器
wxDevcpp在Devcpp的基础上开发的一个IDE,支持wxWidgets的开发,还提供可视化界面用来编辑对话框
Eclipse开发Java应用最流行的工具,安装插件后也可以用来开发C、C++程序
2D/3D LibraryCairo跨平台的2D图形库,类似于GDI Plus。对字体的渲染需要解决对中文的支持,目前我还没有找到合适的方法来解决中文的问题
GLFW免费的OpenGL图形开发包,支持多种C++编译器
IrrlichtIrrlicht引擎是一个用C++书写的高性能实时的3D引擎,可以应用于C++程序或者.NET语言中。通过使用Direct3D(Windows平台),OpenGL 1.2或它自己的软件着色程序,可以实现该引擎的完全跨平台。尽管是开源的,该Irrlicht库提供了可以在商业级的3D引擎上具有的艺术特性,例如动态的阴影,粒子系统,角色动画,室内和室外技术以及碰撞检测等
OGREOGRE是一款开放原代码的图象渲染引擎(实际上是一款面向对象的图象渲染引擎),它是由一个小而强的团体编写并维护,由许多团体共同开发的。OGRE不是一款游戏引擎,它只是一款图象引擎,但很容易和其他库结合来建立一款游戏引擎。你需要建立游戏引擎的库有:声音、网络、输入、冲突检测,OGRG并不包含这些库,但它留有接口用于你在你的应用程序中将其他库连接到OGRE
SDLSDL是一个跨平台的多媒体函数库,被用来设计成在低层访问音频,键盘,鼠标,游戏杆,基于OPENGL(一个3D图象开发函数库)的3D 硬件,和2D图象帧缓冲区。它被广泛的用于基于MPEG的媒体播放软件,模拟器,和许多著名的游戏。最著名的游戏是赢得LIUNX组游戏开发大奖的文明:权利的召唤(Civilization: Call To Power)。SDL在GNU LGPL 2(一个国际上的开源组织)下发布,这个版本允许你将SDL免费地用于商业软件的开发。
OpenGLOpenGL是用于开发简捷的交互式二维和三维图形应用程序的最佳环境,任何高性能的图形应用程序,从3D动画、CAD辅助设计到可视化访真,都可以利用OpenGL高质量、高性能的特点。OpenGL非常接近硬件,是一个图形与硬件的接口,包括了100多个图形函数用来建立三维模型和进行三维实时交互。OpenGL强有力的图形函数不要求开发人员把三维物体模型的数据写成固定的数据格式,也不要求开发人员编写矩阵变换、外部设备访问等函数,大大地简化了编写三维图形的程序

没有评论: