1. วัตถุประสงค์ของเอกสาร
บทความนี้เป็นรายชื่อไลบรารีโอเพนซอร์สที่รวบรวมตามหมวดหมู่ เพื่อให้นักพัฒนา C++ ค้นหาฟังก์ชันที่ต้องการได้อย่างรวดเร็ว
ไลบรารีต้องสามารถดาวน์โหลดในรูปแบบซอร์สได้ และเนื่องจากข้อมูลอาจล้าสมัยหรือลิงก์อาจไม่ถูกต้อง ผู้ใช้จึงควรตรวจสอบด้วยตนเอง
2. อเนกประสงค์·การสื่อสาร·GUI
Boost, Folly, Dlib, JUCE ฯลฯ เป็นไลบรารีอเนกประสงค์ที่มีฟังก์ชันหลากหลาย
ในด้านการสื่อสารมี Boost.Asio, POCO, ZeroMQ, Thrift, REST SDK ฯลฯ ซึ่งใช้ในการพัฒนาเครือข่าย, HTTP, messaging และบริการแบบกระจาย
ด้าน GUI รวมถึง Qt, GTKmm, wxWidgets, FLTK เป็นต้น
3. กราฟิก·มัลติมีเดีย·เกม
SDL, SFML, OpenFrameworks ใช้สำหรับแอปพลิเคชันมัลติมีเดีย
OpenGL, Ogre3D, bgfx, GLFW, GLM, Assimp ฯลฯ รองรับกราฟิก 2D·3D, rendering และการประมวลผลโมเดล
OpenCV ใช้สำหรับการประมวลผลภาพ ส่วนกลุ่ม VLC·GStreamer ใช้สำหรับการเล่นวิดีโอและการประมวลผลสื่อ
4. คณิตศาสตร์·AI·การคำนวณประสิทธิภาพสูง
Eigen, Armadillo, Boost.uBLAS ใช้สำหรับการคำนวณพีชคณิตเชิงเส้น
Dlib, MLPACK, Shogun, liblinear มีฟังก์ชัน machine learning
ไลบรารีที่เกี่ยวข้องกับ TBB, OpenMP, CUDA·OpenCL รองรับการประมวลผลแบบขนานและการคำนวณประสิทธิภาพสูง
5. การประมวลผล·จัดเก็บข้อมูล
กลุ่ม Boost.Container มีโครงสร้างข้อมูลหลากหลาย
protobuf, cereal, yaml-cpp ฯลฯ ใช้สำหรับ serialization ของออบเจ็กต์ ส่วน RapidJSON, jsoncpp, TinyXML ฯลฯ รับหน้าที่ประมวลผล JSON·XML
ODB, SOCI, sqlpp11, mysql++ ฯลฯ มีฟังก์ชันการเชื่อมต่อฐานข้อมูลและ ORM
6. เครื่องมือสนับสนุนการพัฒนา
Google Test, Catch, Boost.Test ใช้สำหรับ unit testing และ Celero รองรับการทำ benchmark ประสิทธิภาพ
OpenSSL, Crypto++, Botan มีฟังก์ชันการเข้ารหัส
spdlog, Log4cpp, plog เป็นไลบรารี C++ ตัวแทนสำหรับการบันทึก log
7. ด้านอื่น ๆ
ยังมีไลบรารีในด้านต่าง ๆ รวมอยู่ด้วย เช่น internationalization, การคำนวณทางการเงิน, embedded, ระบบ real-time, PDF, การค้นหา, การจัดการ configuration และการเชื่อมต่อกับภาษา scripting
โดยรวมแล้ว เอกสารนี้เป็นรายชื่ออ้างอิงสำหรับค้นหาไลบรารีตามฟังก์ชันที่ต้องการในโปรเจกต์ C++
2 ความคิดเห็น
เวอร์ชันภาษาเกาหลีอัปเดตล่าสุดตั้งแต่ปี 2016 แล้ว ดังนั้นน่าจะดูต้นฉบับจะดีกว่า
โอ๊ย ผมเพิ่งรู้จากโพสต์นี้เป็นครั้งแรกว่ามีเว็บ cppreference ภาษาเกาหลีอยู่ด้วย เลยดีใจมาก..
แต่ดูเหมือนว่าจะต้องใช้เว็บภาษาอังกฤษแบบเดิมต่อไปนะครับ