有什么有趣的C/C++库可供使用?

Bas*_*Ben 45 c c++ posix libraries

我正在寻找一些新的库以及C和C++.在过去的大部分时间里,我"偶然"偶然发现了一些 - 他们中的大多数人在我参与的项目中都有很好的用处.

库应该在Mac OS X和Linux/POSIX上运行,也可能在Windows上运行.

  • Lua - 用于配置文件和基本应用程序脚本的最小且快速的脚本引擎.
  • V8 - Google引擎的快速JavaScript,类似于WebKit的JavaScriptCore.
  • Cairo - 一个很好的graphcis库,类似于Mac OS X上的QuickDraw/Quartz.
  • ZBar - 条形码扫描仪库,允许扫描照片/图像/视频流以获取条形码并返回其值.
  • ZLib - 用于数据流的非常紧凑的压缩库.也使用了zziblib和minizip.
  • DynaPDF - 易于使用的PDF生成库.
  • libusb - 通用USB库,允许便携式访问USB设备(我用它来编写自定义POS打印机的基本驱动程序).
  • WebKit - 如果您想呈现HTML/Web内容并在应用程序中使用它来为您的用户提供"更丰富"的用户体验,这是一个非常好的.
  • Qt4 - 各种桌面(可能是移动)开发的通用框架.花了很多时间 - 不知道我怎么会忘记这一点.;)

这应该标记为社区维基.如果您有兴趣添加,请更新!

谢谢!


更新1

我不是在寻找像Boost或STL这样的"生产力"库.相反,我正在寻找随机类型的"有趣的新东西" - 无论是图形库,脚本库,网络甚至MOD/MIDI播放库.对不起,我之前没说清楚.

Raf*_*ler 22

STL和Boost是必须的.

SQLite提供了一个完全嵌入的,功能齐全的关系数据库,只需几百k就可以包含在您的项目中.它也是一种高度市场化的技能,因为它的存在性很高(它包含在Mozilla Firefox以及Android和iOS中).

如果您对创建用户界面感兴趣,请查看ncurses - 它是用于创建许多终端用户界面的库,对于创建游戏和shell实用程序非常有用.Qt是一个很好的C++ GUI框架.

如果您对图形或创建游戏感兴趣,请考虑使用SDL或OpenGL(如果您不介意仅使用Windows,请考虑使用DirectX).

当然,有成千上万的有趣的图书馆.这真的取决于你感兴趣的东西.


Ton*_*ion 12

如果您正在进行图像处理等,那么OpenCV可能会很有趣.


Naw*_*waz 8

每个C++程序员都应该首先使用这两个库:

  • C++标准库 - 包括STL容器,STL算法,STL功能等.
  • 提升C++库.

对于GUI


Ale*_*ler 7

为什么不尝试OGRE并窥视3D图形?


yol*_*olo 5

可视化库可能很有趣。看看这个画廊

可视化库是基于行业标准OpenGL 1.x-4.x的用于高性能2D和3D图形应用程序的C ++中间件,旨在为Windows,Linux和Mac OS X操作系统开发便携式应用程序。

Bullet Physics Library是一个开源的物理引擎,具有3D碰撞检测,软体动力学和刚体动力学的功能。它用于游戏和电影的视觉效果。