Những thư viện C ++ hiện đại nào nên có trong hộp công cụ của tôi? [đóng cửa]


184

Tôi đã rời khỏi trò chơi C ++ được khoảng 10 năm và tôi muốn quay lại và bắt đầu một ứng dụng thương mại. Những thư viện nào đang được sử dụng những ngày này?

  • Giao diện người dùng (ví dụ: wxWidgets , Qt )
  • Cơ sở dữ liệu
  • Mục đích chung (ví dụ: Boost , Loki , STL)
  • Luồng
  • Kiểm tra
  • Mạng / ổ cắm

Tôi mong muốn được tương thích đa nền tảng (càng nhiều càng tốt).

Bạn dựa vào thư viện nào? Những tính năng nào họ cung cấp khiến chúng "không thể thiếu" ?

Xem câu trả lời của tôi dưới đây để tóm tắt.

Câu trả lời:


191

Các thư viện đa nền tảng miễn phí cho các ứng dụng thương mại (hoặc phi thương mại)

Hãy mở rộng danh sách này




Liên kết đến danh sách bổ sung của các thư viện C ++ nguồn mở:

http://en.cppreference.com/w/cpp/links/libs


1
Sẽ rất tuyệt nếu bạn cũng hiển thị Libs XML ...
Oliver

1
@OliverStutz Tôi đã thêm một số thư viện XML. Tín dụng đi đến câu trả lời tuyệt vời này trong đó có một phân tích về cái nào sẽ sử dụng.
JBentley

@JBentley cảm ơn, tôi sử dụng Pugixml, đã nhận ra rằng điều này khá tuyệt vời, nhỏ, có thể biên dịch được ... :-)
Oliver

@@ AfzaalAhmadZeeshan Bộ công cụ tổng hợp dường như phù hợp với tiêu chí cho câu hỏi / câu trả lời này, là đa nền tảng và miễn phí. Tôi đã thêm nó trở lại bây giờ. Bạn có thể giải thích lý do tại sao bạn nghĩ rằng nó không phù hợp cho danh sách này?
JBentley

Tôi nghĩ rằng, thư viện boost là tốt nhất cho mục đích chung.
Mahmut EFE


11

Trên Windows ...

ATL để phát triển COM WTL cho giao diện người dùng


10

CGAL là một thư viện c ++ tuyệt vời cho hình học tính toán

www.cgal.org


8

http://loki-lib.sourceforge.net/ cũng có thể là sự bổ sung tốt.

Đó là một thư viện mẫu khác, giới thiệu các kiểu chữ và triển khai cho các mẫu thiết kế khác nhau.

Tôi chưa bao giờ sử dụng nó, nhưng tôi đã đọc cuốn sách của Alexandrescu để hiểu rõ hơn về các mẫu.


12
ScopeGuard của Loki sẽ thay đổi cuộc sống của bạn . Nghiêm túc. Bạn sẽ mạnh mẽ hơn, nhanh hơn và hấp dẫn hơn với người khác giới.
j_random_hacker

5

CppUnit để thử nghiệm đơn vị và phát triển theo hướng thử nghiệm


0

Bên cạnh tất cả các thư viện tuyệt vời đã được liệt kê, tôi thấy sự kết hợp của xerces cho XML (bao gồm xác thực XSD) và xalan cho XSLT là hữu ích (xalan được xây dựng trên đầu xerces). AFAIK không phải QT hay POCO đều có chức năng XSLT (trừ khi nó được thêm vào kể từ lần cuối tôi sử dụng chúng).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.