LibTTAK - ไลบรารีระบบ C แบบอิง Epoch ที่มอบวงจรชีวิตให้กับข้อมูล
(github.com/gg582)เนื้อหา:
malloc/free ของ C หรือแนวทางแบบ RAII มักทำให้ business logic ปะปนกับโค้ดจัดการทรัพยากร LibTTAK แก้ปัญหานี้ด้วยการจัดการอายุของหน่วยความจำผ่านโมเดลข้อมูล (Epoch)
- Lifetime as Data: ระบุวงจรชีวิตตั้งแต่ตอนจัดสรร เพื่อแยก logic ออกจากความรับผิดชอบในการคืนทรัพยากรอย่างสิ้นเชิง
- 5.6M Ops/s: ประสิทธิภาพแบบกำหนดได้โดยไม่มี stop-the-world (GCC -O3)
- Explicit Safety: ตรวจสอบความถูกต้องได้ทันทีเมื่อมีการเข้าถึง เพื่อป้องกัน UAF ในเชิงโครงสร้าง
- Zero Dependency: อิมพลีเมนต์ด้วย C ล้วนและ build ได้แม้ด้วย TCC
- Inline Assembly สำหรับสถาปัตยกรรมหลัก: การควบคุมที่โปร่งใสแต่ทรงพลัง
แทนที่จะมองว่า "C เป็นเรื่องยาก" แนวคิดนี้เสนอการควบคุมความซับซ้อนด้วยการออกแบบ
2 ความคิดเห็น
RUST?
ก็เหมือนเอาข้อดีของ Rust มาปรับใช้กับ C ในระดับพอเหมาะนั่นแหละ 555 แน่นอนว่าวิธีจัดการหน่วยความจำก็แตกต่างจาก Rust แบบละเอียดนิดหน่อย แต่พอคุ้นแล้วก็ใช้งานได้อยู่