ไลบรารีการแทนที่ขั้นต่ำสำหรับ borlndmm.dll ซึ่งล้อมตัวจัดสรรฮีป Windows ดั้งเดิม เป็นการตรงไปตรงมาที่จะปรับใช้ไลบรารีนี้เพื่อใช้แบ็กเอนด์ตัวจัดสรรอื่น เช่น jemalloc, tcmalloc หรือ mimalloc
การสร้างการแก้ไขจุดบกพร่องสามารถกำหนด POISON_HEAP_USER_DATA เพื่อที่จะบันทึกบล็อกหน่วยความจำที่จัดสรรใหม่หรือที่ว่างด้วยไบต์ที่ไม่ใช่ NULL ซึ่งสามารถช่วยระบุตัวแปรที่ไม่ได้เตรียมใช้งานหรือใช้หลังจากปัญหาที่ว่าง เครื่องมือเช่น WinDbg สามารถเปิดใช้งานคุณลักษณะการแก้ไขข้อบกพร่องฮีปเพิ่มเติมสำหรับฮีปดั้งเดิม เช่น การติดตามสแต็กของผู้ใช้ และคำสั่ง WinDbg !heap สามารถสืบค้นการจัดสรรได้ สิ่งนี้อาจเป็นประโยชน์ในการไล่ตามปัญหาการจัดสรรหน่วยความจำ เพื่อให้ได้ประโยชน์จากสิ่งนี้ คุณควรแปลงไฟล์แผนที่ของคุณเป็นไฟล์ dbg ผ่าน map2dbg เพื่อให้ WinDbg จะให้สัญลักษณ์ที่ถูกต้องแก่คุณ
รุ่นรีลีสจะได้รับประโยชน์จากประสิทธิภาพการทำงานของตัวจัดสรรฮีปของ Windows ดั้งเดิม เช่นเดียวกับการลดความปลอดภัยฮีปในตัว
เพื่อหลีกเลี่ยงการลิงก์ในไลบรารีรันไทม์เริ่มต้น (เช่น CC32260MT.DLL หรือ CC64260MT.DLL) เราจึงสร้าง c0d32w.obj และ c0d64w.a ที่ว่างเปล่า
เพื่อให้แน่ใจว่า ilink64 จะสร้างชื่อการส่งออกที่คาดหวัง เราจะใช้ไฟล์ DEF เพื่อระบุการส่งออกด้วยตนเอง
สร้าง borlndmm.cbproj ด้วย C++ Builder (ทดสอบโดยใช้เวอร์ชัน 10.3.2)
เผยแพร่ภายใต้ใบอนุญาต BSD 3 ข้อ