2010-04-02 5 views
6

Я прихожу на C++ с фона .Net. Зная, как использовать Стандартные библиотеки C++, и весь синтаксис, я больше не рискнул. Теперь я ищу обучение немного больше, например, какие библиотеки обычно используются? Я хочу начать заниматься Threading, но не собираюсь начинать. Есть ли библиотека (похожая на то, как .net имеет System.Threading) там, что сделает ее немного легче? Я специально планирую сетевое программирование на базе Linux.Библиотеки C++, похожие на C#?

ответ

10

Для C++, Boost - это все, что вам нужно. Threading и networking - это то, что он предлагает. Но есть намного больше:

  • Интеллектуальные указатели
  • Полезные контейнеры не найдены в STL, такие как массивы фиксированного размера и HashTables
  • CLOSURES
  • Дата/время занятия
  • Еогеасп построить
  • Функции мин/макс
  • синтаксический анализатор командной строки
  • Регулярный срок ssions
2

Если вы изучаете сетевое программирование и не интересуетесь графическим интерфейсом, я предлагаю библиотеки Boost: в частности, Asio.

1

Нет стандартной библиотеки многопоточности, но библиотека boost включает в себя независимую от платформы многопоточную абстракцию, которая работает очень хорошо.

7

Как говорили другие, Boost отлично. Он реализует C++ Technical Report 1 в дополнение к тоннам других вещей, в том числе некоторые продуманные template metaprogramming трюки.

Для других кросс-платформенных функций, не предусмотренных Boost, мне очень повезло с библиотекой под названием Poco. Например, я работал над коммерческими проектами, которые включали простой HTTP-сервер, и он относился к нам довольно хорошо.

+1

+1 потому что Poco очень приятно и утомительно, что подталкивания по умолчанию SO ответить на каждый вопрос C++. – Duck

3

много предложений по стимулированию, но Qt - еще один хороший вариант. Он получил отличную поддержку для threading и networking, а также многое другое.

http://qt.nokia.com/products