Sane C++ Libraries คือชุดของไลบรารีนามธรรมของแพลตฟอร์ม C++ สำหรับ macOS, Windows และ Linux
หลักการ:
✅ เวลารวบรวมรวดเร็ว
✅ไม่บวม
✅โค้ดอ่านง่าย
✅บูรณาการได้ง่าย
➡️ ไม่มีไลบรารี่มาตรฐาน C++ / ข้อยกเว้น / RTTI
➡️ ไม่มีการพึ่งพาบุคคลที่สาม (ต้องการ OS API)
เยี่ยมชมเว็บไซต์เอกสารสำหรับข้อมูลเพิ่มเติม
ห้องสมุด | คำอธิบาย |
---|---|
อัลกอริทึม | - ไลบรารีตัวยึดตำแหน่งที่จะวางอัลกอริธึมเทมเพลต |
อะซิงก์ | - Async I/O (ไฟล์, ซ็อกเก็ต, ตัวจับเวลา, กระบวนการ, เหตุการณ์ fs, การปลุกเธรด) |
สตรีม Async | - อ่าน แปลง และเขียนข้อมูลจากแหล่งอะซิงก์ไปยังปลายทางพร้อมกัน |
สร้าง | - ระบบบิลด์ขั้นต่ำที่อธิบายบิลด์เป็นภาษา C ++ |
ตู้คอนเทนเนอร์ | - คอนเทนเนอร์ทั่วไป (SC::Vector, SC::SmallVector, SC::Array ฯลฯ) |
ไฟล์ | - ไฟล์ดิสก์แบบซิงโครนัส I/O |
ระบบไฟล์ | - การทำงานของระบบไฟล์ { มีอยู่, คัดลอก, ลบ } สำหรับ { ไฟล์และไดเร็กทอรี } |
ตัววนซ้ำระบบไฟล์ | - ระบุไฟล์และไดเร็กทอรีภายในเส้นทางที่กำหนด |
ผู้เฝ้าดูระบบไฟล์ | - การแจ้งเตือน {เพิ่ม ลบ เปลี่ยนชื่อ แก้ไข} สำหรับไฟล์และไดเร็กทอรี |
พื้นฐาน | - ประเภทดั้งเดิม การยืนยัน ขีดจำกัด ฟังก์ชัน ช่วง ผลลัพธ์ แท็กยูเนี่ยน |
การแฮช | - คำนวณแฮช MD5 , SHA1 หรือ SHA256 สำหรับสตรีมไบต์ |
http | - ตัวแยกวิเคราะห์ HTTP ไคลเอ็นต์และเซิร์ฟเวอร์ |
ปลั๊กอิน | - ระบบปลั๊กอินที่ใช้การพึ่งพาน้อยที่สุดพร้อมการรีโหลดแบบร้อน |
กระบวนการ | - สร้างกระบวนการลูกและเชื่อมโยงกระบวนการเหล่านั้น (ใช้ได้กับไลบรารี Async ด้วย) |
การสะท้อนกลับ | - อธิบายประเภท C++ ณ เวลาคอมไพล์สำหรับซีเรียลไลซ์ |
ไบนารีการทำให้เป็นอนุกรม | - ทำให้เป็นอนุกรมไปและกลับจากรูปแบบไบนารี่โดยใช้ Reflection |
ข้อความการทำให้เป็นอนุกรม | - ทำให้เป็นอนุกรมเป็น / จากรูปแบบข้อความ (JSON) โดยใช้การสะท้อน |
ซ็อกเก็ต | - เครือข่ายซ็อกเก็ตแบบซิงโครนัสและการค้นหา DNS |
สตริง | - การจัดรูปแบบสตริง / การแปลง / การจัดการ (ASCII / UTF8 / UTF16) |
การทดสอบ | - กรอบการทดสอบอย่างง่ายที่ใช้โดยไลบรารีอื่นๆ ทั้งหมด |
การทำเกลียว | - อะตอมมิก เธรด เธรดพูล mutex ตัวแปรเงื่อนไข |
เวลา | - การจัดการเวลา (สัมพัทธ์, สัมบูรณ์, ความละเอียดสูง) |
ห้องสมุดแต่ละแห่งมีรหัสสีเพื่อบ่งบอกถึงสถานะ:
ไลบรารีบางแห่งมีการผูก C
ผูกพัน | คำอธิบาย |
---|---|
sc_hashing | การผูกข้อมูลสำหรับ Hashing Library |
สามารถใช้ไลบรารีตามที่เป็นอยู่ โดยเพิ่มไฟล์เดียวในโปรเจ็กต์ของคุณ และไม่จำเป็นต้องใช้ระบบบิลด์ใดๆ
ดูอาคาร (ผู้ใช้) เพื่อใช้งานห้องสมุด
ไม่นานมานี้:
SC_COMPILER_ENABLE_STD_CPP=1
หากคุณวางแผนที่จะใช้ไลบรารี Standard C++Libraries/[Library]/*.h
) CoreFoundation.framework
CoreServices.framework
libdl
( -ldl
)libpthread
( -lpthread
)SCExample นำเสนอการรวมไลบรารี Sane C++ เข้ากับไลบรารี Dear ImGui และ sokol (ดูหน้าตัวอย่าง)
การทดสอบสร้างขึ้นด้วยตัวสร้างโปรเจ็กต์ SC::Build ที่โฮสต์เอง โดยอธิบายบิวด์ใน C++
ตรวจสอบอาคาร (ผู้สนับสนุน) เพื่อทำการทดสอบ
@pagghiu.bsky.social
@pagghiu_
@pagghiu
หรืออีกทางหนึ่ง ฉันกำลังอ่านข้อขัดแย้งต่อไปนี้ด้วย:
@Pagghiu
จากช่องทางที่เหมาะสมหรือเพียง DM ภาษาอังกฤษและอิตาลีก็ใช้ได้ทั้งคู่)@Pagghiu
จากช่องทางที่เหมาะสมหรือเพียง DM)โปรดสละเวลาอ่านหลักการและรูปแบบการเขียนโค้ด
หลังจากนั้นคุณสามารถอ่านคู่มือ CONTRIBUTING.md ได้
ไลบรารี Sane C++ ได้รับอนุญาตภายใต้ใบอนุญาต MIT โปรดดูข้อมูลเพิ่มเติมที่ LICENSE.txt
ในช่อง YouTube นี้มีวิดีโอบางส่วนที่แสดงกระบวนการพัฒนาเล็กน้อย
ใน Sane Coding Blog มีชุดโพสต์บล็อกเกี่ยวกับโครงการนี้