4 điểm bởi baeba 6 giờ trước | 2 bình luận | Chia sẻ qua WhatsApp

1. Mục đích tài liệu

Bài viết này là danh sách tổng hợp các thư viện mã nguồn mở theo từng lĩnh vực để nhà phát triển C++ có thể nhanh chóng tìm được chức năng cần thiết.
Các thư viện phải có thể tải về dưới dạng mã nguồn; do thông tin có thể đã cũ hoặc liên kết có thể sai, người dùng cần tự kiểm tra.

2. Đa dụng, truyền thông, GUI

Boost, Folly, Dlib, JUCE, v.v. là các thư viện đa dụng cung cấp nhiều chức năng.
Trong lĩnh vực truyền thông có Boost.Asio, POCO, ZeroMQ, Thrift, REST SDK, v.v., được dùng để phát triển mạng, HTTP, messaging và dịch vụ phân tán.
Lĩnh vực GUI bao gồm Qt, GTKmm, wxWidgets, FLTK, v.v.

3. Đồ họa, đa phương tiện, game

SDL, SFML, OpenFrameworks được dùng cho các ứng dụng đa phương tiện.
OpenGL, Ogre3D, bgfx, GLFW, GLM, Assimp, v.v. hỗ trợ đồ họa 2D/3D, rendering và xử lý mô hình.
OpenCV được dùng cho xử lý hình ảnh; các hệ thư viện như VLC và GStreamer được dùng cho phát video và xử lý media.

4. Toán học, AI, tính toán hiệu năng cao

Eigen, Armadillo, Boost.uBLAS được dùng cho tính toán đại số tuyến tính.
Dlib, MLPACK, Shogun, liblinear cung cấp các chức năng machine learning.
Các thư viện liên quan đến TBB, OpenMP, CUDA và OpenCL hỗ trợ xử lý song song và tính toán hiệu năng cao.

5. Xử lý và lưu trữ dữ liệu

Nhóm Boost.Container cung cấp nhiều cấu trúc dữ liệu khác nhau.
protobuf, cereal, yaml-cpp, v.v. được dùng để tuần tự hóa đối tượng; RapidJSON, jsoncpp, TinyXML, v.v. đảm nhiệm xử lý JSON/XML.
ODB, SOCI, sqlpp11, mysql++, v.v. cung cấp kết nối cơ sở dữ liệu và chức năng ORM.

6. Công cụ hỗ trợ phát triển

Google Test, Catch, Boost.Test được dùng cho unit test, còn Celero hỗ trợ benchmark hiệu năng.
OpenSSL, Crypto++, Botan cung cấp chức năng mã hóa.
spdlog, Log4cpp, plog là các thư viện C++ tiêu biểu để ghi log.

7. Các lĩnh vực khác

Tài liệu cũng bao gồm thư viện trong nhiều lĩnh vực như quốc tế hóa, tính toán tài chính, nhúng, hệ thống thời gian thực, PDF, tìm kiếm, quản lý cấu hình và tích hợp ngôn ngữ script.
Nhìn chung, đây là danh sách tham khảo để tìm thư viện theo chức năng cần thiết trong các dự án C++.

2 bình luận

 

Bản tiếng Hàn được cập nhật lần cuối từ năm 2016 nên có lẽ nên xem bản gốc.

 
dieafterwork 1 giờ trước

Ôi trời, đọc bài này tôi mới biết là có trang cppreference tiếng Hàn nên đã vui lắm..
Có vẻ vẫn phải dùng trang tiếng Anh như trước thôi.