ไลบรารี C ++ สมัยใหม่ควรมีอะไรในกล่องเครื่องมือของฉัน [ปิด]


185

ฉันออกจากเกม C ++ มาประมาณ 10 ปีแล้วและฉันต้องการกลับเข้ามาใหม่และเริ่มแอพเชิงพาณิชย์ วันนี้มีห้องสมุดใดที่ใช้อยู่

  • ส่วนต่อประสานผู้ใช้ (เช่นwxWidgets , Qt )
  • ฐานข้อมูล
  • วัตถุประสงค์ทั่วไป (เช่นBoost , Loki , STL)
  • Threading
  • การทดสอบ
  • เครือข่าย / ซ็อกเก็ต

ฉันกำลังมองหาการใช้งานข้ามแพลตฟอร์มได้ (มากที่สุดเท่าที่จะเป็นไปได้)

คุณต้องพึ่งพาห้องสมุดอะไร พวกเขามีคุณสมบัติอะไรที่ทำให้พวกเขา"ขาดไม่ได้" ?

ดูคำตอบของฉันด้านล่างเพื่อรับข้อมูลสรุป

คำตอบ:


192

ห้องสมุดข้ามแพลตฟอร์มที่ให้บริการฟรีสำหรับแอพพลิเคชั่นเชิงพาณิชย์ (หรือที่ไม่ใช่เชิงพาณิชย์)

อย่าลังเลที่จะขยายรายการนี้




ลิงก์ไปยังรายการเพิ่มเติมของไลบรารี C ++ โอเพ่นซอร์ส:

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


1
จะเย็นถ้าคุณแสดง Libs XML เกินไป ...
โอลิเวอร์

1
@OliverStutz ฉันได้เพิ่มห้องสมุด XML บางส่วน เครดิตไปที่คำตอบที่ยอดเยี่ยมซึ่งมีการวิเคราะห์ที่จะใช้
JBentley

ขอบคุณ @JBentley ใช้ i Pugixml, คิดออกว่านี่คือสวยน่ากลัวขนาดเล็ก compileable ... :-)
โอลิเวอร์

@@ AfzaalAhmadZeeshan ชุดเครื่องมือการสังเคราะห์ดูเหมือนจะตรงกับเกณฑ์สำหรับคำถาม / คำตอบนี้เป็นแพลตฟอร์มข้ามและฟรี ฉันได้เพิ่มไว้ในตอนนี้ คุณช่วยอธิบายได้หรือไม่ว่าทำไมคุณคิดว่ารายการนี้ไม่เหมาะสม
JBentley

ฉันคิดว่าห้องสมุดเพิ่มเป็นสิ่งที่ดีที่สุดสำหรับวัตถุประสงค์ทั่วไป
Mahmut EFE

29

ขออภัยที่ทำซ้ำบางสิ่งที่เขียนไปแล้ว แต่:

(อย่างน้อยควรให้คุณเริ่มต้น)




8

http://loki-lib.sourceforge.net/อาจเป็นส่วนเสริมที่ดี

เป็นอีกหนึ่งไลบรารีเทมเพลตที่แนะนำนักพิมพ์ดีดและการนำไปใช้งานสำหรับรูปแบบการออกแบบที่หลากหลาย

ฉันไม่เคยใช้มัน แต่ฉันอ่านหนังสือของ Alexandrescu เพื่อให้เข้าใจเทมเพลตได้ดีขึ้น


12
ScopeGuard ของ Loki จะเปลี่ยนชีวิตคุณ อย่างจริงจัง. คุณจะแข็งแกร่งเร็วขึ้นและดึงดูดใจเพศตรงข้ามมากขึ้น
j_random_hacker


0

นอกจากห้องสมุดที่ยอดเยี่ยมทั้งหมดที่ระบุไว้แล้วฉันพบการรวมกันของ xerces สำหรับ XML (รวมถึงการตรวจสอบ XSD) และ xalan สำหรับ XSLT ให้เป็นประโยชน์ (xalan ถูกสร้างขึ้นที่ด้านบนของ xerces) AFAIK ทั้ง QT หรือ POCO ไม่มีฟังก์ชั่น XSLT (ยกเว้นว่ามันจะถูกเพิ่มเข้ามาตั้งแต่ฉันใช้มันครั้งสุดท้าย)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.