</p> 三、数据库 S1 e0 G2 o5 B3 O
我比较喜欢OTL(用于连接数据库)。其他的没用过 1 f. h# B% @/ F& j
四、多媒体类
# H$ G+ r, [& B5 y& V5 X ] ——摘录别处,自己,没用过 ' S" `/ V+ k1 `0 h" r5 ~
SDL (Simple DirectMedia Layer/多媒体直接访问层,用于游戏编程)。
, R9 m; Z7 v( {! ] E 相应的c开源库有ffmpeg、mpeg4、aac、avc、libmad、mpeg1、flac、ac3、ac3、matroska著名的多媒体播放器 TCPMP 天下闻名的跨平台、嵌入式手持设备视频播放器。 ) y7 S7 t) O, l* h }4 _
五、网络开发类 - r1 ~; W- y+ z; P
1、gSOAP SOAP协议的C++支持库及代码生成工具。 + ~/ S/ H0 ]1 @3 F8 U! k
2、ACE 网络编程研究首选。
8 X$ q* R1 h& v4 [ ACE适合于研究,大型网络编程上效率不足,大型网游里面几乎没有用到ACE的,很多用了ACE的项目也被证明了效率不高。 . D+ y9 g, j+ \
除了ACE之外,还有很多系统和网络编程方面的程序库。比如在线程库方面,还有ZThread、boost::thread,如果放大到C/C++领域, 还有APR,还有CII.在文件和目录操作方面,boost也有相应的组件,而在网络编程方面有socket++,还有boost::asio,未来的 C++0X中几乎肯定有一个网络编程和一个线程库。然而目前看来,ACE仍然是进行系统和高性能网络编程的首选,其地位在一段时间内不会被撼动。它不但是 一个实用的程序库、框架集,还是一个典范的设计模式应用范例,非常值得学习。
8 M9 J$ K% U( s: J( { 3、根据博友回复,我整理如下: % I; Z* l N1 C# I# e! q/ f7 o
开源C++库,称为POCO(POrtable COmponents – 可移植元件),非常方便好用。 & T/ a; [5 l' v& `3 Q1 l$ O0 k
特性: " n) R& i4 W5 h/ N' Z( `8 r
* 线程,程序同步及多线程编程高级抽象* 流及文件系统访问* 共享库将类加载* 功能强大的日志和错误报告* 安全及加密* 网络编程 (TCP/IP 套接字, HTTP客户端和HTTP服务器, FTP, SMTP, POP3, 等) 0 }4 Z& s+ T! s T
* XML解析 (SAX2 和 DOM) 及生成* 配置文件及选项处理* SQL数据库访问(ODBC, MySQL, SQLite) 7 h3 ~- q3 `: {
可以运行的平台包括: 6 ]' e m7 t4 H. j7 E/ p; K
* Windows * Mac OS X * iPhone OS * (embedded) Linux * HP-UX * Tru64 * Solaris * QNX 1 u3 B! R0 B% X) e9 T9 o
六、GUI库 : p. n8 z: E, U) b
BCG Windows平台下界面设计的第三方库,可以让你的界面更美好,更具时 代感。 " ?3 P H$ |# {3 c$ X; Z
wxWidgets :使用wxWidgets ,开发者可以基于同一套代码,为Win32, Mac OS X, GTK+, X11, Motif, WinCE等平台开发应用程序。wxWidgets库可以被C++, Python, Perl, and C#/.NET等开发语言使用。跟其它有些同样支持跨平台GUI开发工具不同,基于wxWidgets的应用,拥有真实本地化的视觉及使用效果——因为,wxWidgets使用(各)平台原生的控件,而不是简单通过贴图去模拟。wxWidgets是使用广泛的,自由的,开源的,成熟的。 - A; S l4 \7 l: O' M O: p7 G
QT——界面(GUI)开发,支持C++/Java/Python/……多种语言。跨平台。最主要的好处是,API非常优 美!Qt本身也不仅仅只是做GUI编程,实际它基本上可以做OS-API可以做的任何事情。象网络/数据库/OpenGL/……都提供完美的支持。 4 h7 J; b2 r& E
传统上Qt被认为是可移植的GUI库,但实际上Qt现在已经是一个比较完整的可移植应用程序框架了,其中包含了大量的工具,比如正则表达式、Web和 Socket类、2D和3D图形、XML解析、SQL类等,甚至还包括了一个完整的容器类库,不过其王牌还是GUI.在目前的跨平台GUI框架中,Qt成熟度最高,已经被一些大公司应用在关键产品中。由于Trolltech对Qt采用的dual license模式,该产品既可以从开源社区获得支持,又能够赚取足够的商业利润,因此其前景也令人比较有信心。
2 r7 ^ w9 h5 o$ [8 Q6 O! E Qt的主要技术特色是其元对象模型。Qt实际上使用的并不是标准的C++,而是标准C++的一个扩展。它通过元对象模型扩展,实现了著名的signal/slot机制,而这一机制也成为Qt的最大特色和优势。 3 K# ~, a4 @+ H9 V& h$ V
与Qt类似的可移植GUI框架还有wxWidget、FOX等 . x" X' w' N# p) Y* r4 G
计算机视觉
' Q" r" q0 i& _3 i6 A OpenCV,因特尔自主的开源库。支持C/C++/Python接口。这个感兴趣的朋友可以玩一下。如果结合OpenCV,你可以做一些外行人觉得很酷的程序。比如说用它的人脸识别函数,来对你的摄像头进行处理,判断人的动作等。 |