หน่วยความจำ

โมดูลนี้ประกอบด้วยกระบวนการ Abstraction ของแพลตฟอร์มสำหรับการจัดสรรแบบไดนามิก

สรุป

ฟังก์ชัน

otPlatCAlloc(size_t aNum, size_t aSize)
void *
จัดสรรหน่วยความจำใหม่แบบไดนามิก
otPlatFree(void *aPtr)
void
เพิ่มพื้นที่ว่างหน่วยความจำที่จัดสรรแบบไดนามิก

ฟังก์ชัน

otPlatCAlloc

void * otPlatCAlloc(
  size_t aNum,
  size_t aSize
)

จัดสรรหน่วยความจำใหม่แบบไดนามิก

ในแพลตฟอร์มที่รองรับ ควรเปลี่ยนเส้นทางไปที่ Calloc ส่วนที่ไม่รองรับ Calloc ควรรองรับฟังก์ชันการทำงานเดียวกัน:

"ฟังก์ชัน calloc() จะจัดสรรพื้นที่ที่เพียงพอสำหรับออบเจ็กต์จำนวนที่มีขนาดไบต์ของหน่วยความจำแต่ละรายการอย่างต่อเนื่อง และส่งกลับตัวชี้ไปยังหน่วยความจำที่จัดสรร ระบบจะเติมจำนวนไบต์ที่มีค่าเป็น 0 ให้กับหน่วยความจำที่จัดสรร

ต้องระบุสำหรับ OPENTHREAD_CONFIG_HEAP_EXTERNAL_ENABLE

รายละเอียด
พารามิเตอร์
[in] aNum
จำนวนบล็อกที่จะจัดสรร
[in] aSize
ขนาดของแต่ละบล็อกที่จะจัดสรร
แสดงผลค่า
void*
ตัวชี้ไปด้านหน้าของหน่วยความจำที่จัดสรร
NULL
จัดสรรหน่วยความจำที่ขอไม่สำเร็จ

otPlatFree

void otPlatFree(
  void *aPtr
)

เพิ่มพื้นที่ว่างหน่วยความจำที่จัดสรรแบบไดนามิก

ต้องระบุสำหรับ OPENTHREAD_CONFIG_HEAP_EXTERNAL_ENABLE

รายละเอียด
พารามิเตอร์
[in] aPtr
ตัวชี้ที่หน่วยความจำบล็อกเหลือว่าง ตัวชี้อาจเป็น NULL

แหล่งข้อมูล

หัวข้ออ้างอิง API ของ OpenThread จะมาจากซอร์สโค้ดซึ่งพร้อมใช้งานใน GitHub ดูข้อมูลเพิ่มเติมหรือมีส่วนร่วมในเอกสารประกอบของเราได้ที่แหล่งข้อมูล