2010-04-02 44 views
6

Tôi đang đến với C++ từ nền .Net. Biết cách sử dụng Thư viện chuẩn C++, và tất cả cú pháp, tôi chưa bao giờ mạo hiểm thêm nữa. Bây giờ tôi đang tìm hiểu thêm một chút, chẳng hạn như những thư viện nào thường được sử dụng? Tôi muốn bắt đầu vào Threading nhưng không có ý tưởng để bắt đầu. Có một thư viện (tương tự như cách. Net có System.Threading) ra khỏi đó sẽ làm cho nó một chút dễ dàng hơn? Tôi đặc biệt đang tìm cách lập trình dựa trên mạng Linux.Thư viện C++ tương tự như C#?

Trả lời

10

Đối với C++, Boost là mọi thứ của bạn. Threadingnetworking là một trong những thứ mà nó cung cấp. Nhưng có nhiều hơn nữa:

  • con trỏ thông minh
  • container hữu ích không tìm thấy trong STL, chẳng hạn như mảng kích thước cố định và Hashtables
  • đóng cửa lớp
  • Ngày/thời gian
  • Một foreach xây dựng
  • Chức năng tối thiểu/tối đa
  • Phân tích cú pháp tùy chọn dòng lệnh
  • Thường xuyên hết hạn ssions
2

Nếu bạn đang xem xét lập trình mạng và không quan tâm đến GUI, tôi khuyên thư viện Boost: cụ thể là Asio.

1

Không có thư viện đa luồng chuẩn nào, nhưng thư viện boost bao gồm trừu tượng đa luồng độc lập nền tảng hoạt động rất tốt.

7

Như những người khác đã nói, Boost thật tuyệt. Nó thực hiện các C++ Technical Report 1 ngoài tấn công cụ khác, bao gồm một số thủ thuật thổi template metaprogramming tâm trí thổi.

Đối với các tính năng nền tảng khác không được cung cấp bởi Boost, tôi đã có rất nhiều may mắn với thư viện có tên Poco. Tôi đã làm việc trên các dự án thương mại kết hợp máy chủ HTTP đơn giản của nó, ví dụ, và nó đối xử với chúng tôi khá tốt.

+1

+1 bởi vì Poco rất đẹp và mệt mỏi khi Boost là câu trả lời SO mặc định cho mọi câu hỏi C++. – Duck