c++ 怎么用第三方库

Python016

c++ 怎么用第三方库,第1张

c++软件开发第三方库大全

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这几个库,不过楼主可以通过了解这几个库,接触更多的库,也许你有机会找到一个真正适合自己的库,祝你好运。