Какие современные библиотеки С++ должны быть в моем наборе инструментов?
Я был вне игры С++ около 10 лет, и я хочу вернуться и начать с коммерческого приложения. Какие библиотеки используются в наши дни?
- Пользовательский интерфейс (например, wxWidgets, Qt)
- База данных
- Общее назначение (например Boost, Loki, STL)
- Threading
- Тестирование
- Сеть/сокеты
Я ищу кросс-платформенную совместимость (как можно больше из коробки).
В каких библиотеках вы полагаетесь? Какие функции они обеспечивают, что делает их "незаменимыми"?
См. мой ответ ниже для сводки.
Ответы
Ответ 1
Кросс-платформенные библиотеки, которые бесплатны для коммерческих (или некоммерческих) приложений
Не стесняйтесь расширять этот список
- Аудио
- Database
- Дизайн
- Документы
- Графика
- GUI
- хэширования
- визуализации
- Logging
- Mocking
- Мультимедиа
- Сеть
- Тестирование
- Резьбонарезной
- Контроль версий
- Структура веб-приложений
- XML
Ссылки на дополнительные списки библиотек С++ с открытым кодом:
http://en.cppreference.com/w/cpp/links/libs
Ответ 2
Извините за повторение некоторых из написанных вещей, но:
(По крайней мере, вы начнете)
Ответ 3
В Windows...
ATL для разработки COM WTL для пользовательского интерфейса
Ответ 4
CGAL - отличная библиотека С++ для вычислительной геометрии
www.cgal.org
Ответ 5
http://loki-lib.sourceforge.net/ также может быть хорошим дополнением.
Это другая библиотека шаблонов, в которой представлены списки типов и реализации для различных шаблонов проектирования.
Я никогда не использовал его, но я читал книгу Александреску, чтобы лучше понять шаблоны.
Ответ 6
CppUnit для модульного тестирования и разработки, основанной на тестах
Ответ 7
Помимо всех замечательных библиотек, которые уже были перечислены, я считаю, что полезно использовать сочетание xerces для XML (включая проверку XSD) и xalan для XSLT (xalan построен поверх xerces). AFAIK ни QT, ни POCO не имеют функциональность XSLT (если только она не была добавлена с тех пор, как я в последний раз их использовал).