我的工具箱中应该有哪些现代 C++ 库?
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/777764/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
What modern C++ libraries should be in my toolbox?
提问by Ryan Emerle
I've been out of the C++ game for about 10 years and I want to get back in and start on a commercial app. What libraries are in use these days?
我已经退出 C++ 游戏大约 10 年了,我想重新进入并开始开发商业应用程序。这些天有哪些图书馆在使用?
- User interface (e.g, wxWidgets, Qt)
- Database
- General purpose (e.g. Boost, Loki, STL)
- Threading
- Testing
- Network/sockets
I looking to be cross-platform compatible (as much as possible out-of-the-box).
我希望跨平台兼容(尽可能开箱即用)。
What libraries to do you rely on? What features do they provide that make them "indispensable"?
你依赖哪些库?它们提供的哪些功能使它们“不可或缺”?
See my answerbelow for a summary.
请参阅下面我的回答以获取摘要。
回答by Ryan Emerle
Cross-platform libraries that are free for commercial (or non-commercial) applications
可免费用于商业(或非商业)应用程序的跨平台库
Feel free to expand this list
随意扩展此列表
- General Purpose
- Boost
- Loki
- MiLi
- POCO
- STL(of course)
- STXXL(STL re-implementation for extra large data sets)
- Qt
- ASL
- JUCE
- Audio
- Database
- Design
- IoC Frameworks
- Documents
- Graphics
- GUI
- Hashing
- Imaging
- Logging
- Mocking
- Google Mock
- Hippo Mocks
- Turtle(C++ mock object library for Boost)
- Multimedia
- Networking
- Testing
- Threading
- Version Control
- Web Application Framework
- XML
- 声音的
- 数据库
- 设计
- 文件
- 图形
- 图形用户界面
- 散列
- 成像
- 日志记录
- 嘲讽
- 多媒体
- 联网
- 测试
- 穿线
- 版本控制
- 网络应用框架
- XML
Links to additional lists of open source C++ libraries:
指向其他开源 C++ 库列表的链接:
回答by rjnilsson
Sorry for repeating some of the stuff already written, but:
抱歉重复了一些已经写的东西,但是:
- UI: Qt
- Database: SOCI
- General purpose: Boost, Loki, STLSoft Libraries, ASL
- Threading: Boost.Thread
- Testing: Boost.Test
- Build tools: Boost.Build, SCons
- 用户界面:Qt
- 数据库:SOCI
- 通用:Boost、Loki、STLSoft 库、ASL
- 线程:Boost.Thread
- 测试:Boost.Test
- 构建工具:Boost.Build、SCons
(Should at least get you started)
(至少应该让你开始)
回答by FrodoH
On Windows...
在 Windows 上...
ATL for COM development WTL for user interface
用于 COM 开发的 ATL 用于用户界面的 WTL
回答by yang-qu
CGAL is an excellent c++ library for computational geometry
CGAL 是一个优秀的计算几何 C++ 库
www.cgal.org
www.cgal.org
回答by Ronny Brendel
http://loki-lib.sourceforge.net/might also be good addition.
http://loki-lib.sourceforge.net/也可能是很好的补充。
It's another template library, which introduces typelists, and implementations for various design patterns.
它是另一个模板库,它引入了类型列表和各种设计模式的实现。
I never used it, but I read Alexandrescu's book to get a better understanding of templates.
我从未使用过它,但我阅读了 Alexandrescu 的书以更好地理解模板。
回答by Andrew Stein
CppUnit for unit testing and test driven development
用于单元测试和测试驱动开发的 CppUnit
回答by Ralf
Besides all the great libraries already listed, I find the combination of xerces for XML (including XSD validation) and xalan for XSLT to be useful (xalan is built on top of xerces). AFAIK neither QT or POCO have XSLT functionality (unless it's been added since I last used them).
除了已经列出的所有优秀库之外,我发现 xerces for XML(包括 XSD 验证)和 xalan for XSLT 的组合很有用(xalan 构建在 xerces 之上)。AFAIK QT 或 POCO 都没有 XSLT 功能(除非自我上次使用它们以来已添加)。