1.boost
2.pthread windows下的posix线程实现
3.libcurl 开源网络爬虫库 阿里旺旺中使用到了
4.libeay32 OpenSSL Library
5.libtidy 解析htm的库
6.zlib
7.freetype c接口的type2字体处理库
8.libmad 编解码mp3的库
9.libogg,编解码ogg音频格式的库
10.libsnd 开源的编解码十多种音频格式的库
11.ffmpeg 音频视频处理的库
12.Freeimage,Cximage,Devil 这3个都是用来处理图形的库
13.libpng,libjpeg,....基本同上
14.angelscript 类似lua的脚本引擎 其脚本风格类似于标准c语言
15.flac/flac++编解码flac音频格式的库
16.tinyxml,rapidxml,libxml 关于xml解析方面的
17.luaplus,luabind涉及绑定lua和c++的库
18.ode,bullet 开源的物理引擎库
19.timidity可以把mid音频格式转化为wav格式的库
20.vlc类似ffmeg的库
21.zthread类型boost-thread,pthread的c++风格的多线程库
22.sigc++,sigslot信号插槽库 类型的有boost中的signal
23.SDL 简单的音频视频库
24.hge简单的使用ddraw的2维游戏小引擎
25.opencv开源的处理图形的库
26.mygui,cegui 游戏上使用的GUI系统
27.鬼火游戏引擎,Orge,都是开源的游戏中间件
28.Wxwidget开源的跨平台,类似MFC
29.QT ..
30.loki实验性质的c++库
31.ace网络通信库
32.fmod游戏音效引擎
33.sqlite 开源的桌面数据库
Python拥有一个强大的标准库。Python语言的核心只包含数字、字符串、列表、字典、文件等常见类型和函数,而由Python标准库提供了系统管理、网络通信、文本处理、数据库接口、图形系统、XML处理等额外的功能。Python标准库的主要功能有:
1.文本处理,包含文本格式化、正则表达式匹配、文本差异计算与合并、Unicode支持,二进制数据处理等功能
2.文件处理,包含文件操作、创建临时文件、文件压缩与归档、操作配置文件等功能
3.操作系统功能,包含线程与进程支持、IO复用、日期与时间处理、调用系统函数、日志(logging)等功能
4.网络通信,包含网络套接字,SSL加密通信、异步网络通信等功能
5.网络协议,支持HTTP,FTP,SMTP,POP,IMAP,NNTP,XMLRPC等多种网络协议,并提供了编写网络服务器的框架
6.W3C格式支持,包含HTML,SGML,XML的处理。
7.其它功能,包括国际化支持、数学运算、HASH、Tkinter等
Python社区提供了大量的第三方模块,使用方式与标准库类似。它们的功能覆盖科学计算、Web开发、数据库接口、图形系统多个领域。第三方模块可以使用Python或者C语言编写。SWIG,SIP常用于将C语言编写的程序库转化为Python模块。Boost C++ Libraries包含了一组函式库,Boost.Python,使得以Python或C++编写的程式能互相调用。Python常被用做其他语言与工具之间的“胶水”语言。
著名第三方库
1.Web框架
Django:开源Web开发框架,它鼓励快速开发,并遵循MVC设计,开发周期短。
ActiveGrid:企业级的Web2.0解决方案。
Karrigell:简单的Web框架,自身包含了Web服务,py脚本引擎和纯python的数据库PyDBLite。
Tornado:一个轻量级的Web框架,内置非阻塞式服务器,而且速度相当快
webpy:一个小巧灵活的Web框架,虽然简单但是功能强大。
CherryPy:基于Python的Web应用程序开发框架。
Pylons:基于Python的一个极其高效和可靠的Web开发框架。
Zope:开源的Web应用服务器。
TurboGears:基于Python的MVC风格的Web应用程序框架。
Twisted:流行的网络编程库,大型Web框架。
Quixote:Web开发框架。
2.科学计算
Matplotlib:用Python实现的类matlab的第三方库,用以绘制一些高质量的数学二维图形。
SciPy:基于Python的matlab实现,旨在实现matlab的所有功能。
NumPy:基于Python的科学计算第三方库,提供了矩阵,线性代数,傅立叶变换等等的解决方案。
3.GUI
PyGtk:基于Python的GUI程序开发GTK+库。
PyQt:用于Python的QT开发库。
WxPython:Python下的GUI编程框架,与MFC的架构相似。
4.其它
BeautifulSoup:基于Python的HTML/XML解析器,简单易用。
PIL:基于Python的图像处理库,功能强大,对图形文件的格式支持广泛。
PyGame:基于Python的多媒体开发和游戏软件开发模块。
Py2exe:将python脚本转换为windows上可以独立运行的可执行程序。
参考自维基百科
可以使用第3方库来编程。第3方的库,比较常见的就像是MFC了,虽然它也是微软出的,不过就其本质来说也是第三方库性质的。
MFC也是基于windows消息,不过如果你使用VC这个微软IDE来做的话,可以简化对消息的处理,主要的好处是它对win32 API做了一些成熟的封装,利用这些封装可以减少开发时间。
第三方库主要就是加快开发时间,还有一些库还能帮助你用一种新的观点来就行GUI编程,例如楼主你这种情况。第3方库还能帮助跨平台移植,例如基于SDL库的程序可以让你写完一个代码,就同时产生可以在PC上的windows,MAC OSX,linux操作系统上运行的程序,同时还可以运行在惠普的ALPHA,IBM的POWER PC,索尼的PSP游戏机等各种设备上。
说完第3方库的好处就介绍一下可以使用C语言编程的第3方库吧。
在图形编程方面,opengl和SDL我个人觉得都不错。
opengl在windows中一般也是用消息来处理键盘按键,不过配合GLUT库,可以避开这一点。我学opengl的时候也使用GLUT,它可以产生SDL一样的那种“一次编码,处处运行”的效果。(当然,还没那么夸张)。GLUT不属于opengl的一部分,但是很流行,这就够了。
SDL开发里面完全见不到windows消息,这是因为它本来就被设计成用来开发完全跨平台的程序。
opengl和SDL的一个问题是,它没有按钮的概念,而且在程序中输入文字的处理也需要自己来做。一般也没多少人为它们开发文本输入框这一类的扩展的库,因为它不是干这个的。它们主要用来产生各种以多媒体图形为主的系统,偶尔处理一下键盘,鼠标(也许还有摇杆之类的)的输入。
如果需要一个带有输入框和按钮等概念的第3方GUI库,可以选择GTK,iup,wxWidget。特别是GTK和wxWidget,很出名,很优秀,跨平台(跨语言,其实iup可能更加跨语言,我喜欢iup因为它对我喜欢的lua语言支持不错)。
我推荐了iup,wxWidget,GTK,opengl,SDL这几个库,不过楼主可以通过了解这几个库,接触更多的库,也许你有机会找到一个真正适合自己的库,祝你好运。