เครือเครื่องมือ

โมดูลนี้กำหนดเลเยอร์ Abstraction ของ Toolchain ผ่านมาโคร

สรุป

การใช้งาน

typedef
OT_TOOL_PACKED_BEGIN
struct
{
    char mField1;
    union
    {
        char mField2;
        long mField3;
    } OT_TOOL_PACKED_FIELD;
} OT_TOOL_PACKED_END packed_struct_t;

มาโคร

OT_APPLE_IGNORE_GNU_FOLDING_CONSTANT

 OT_APPLE_IGNORE_GNU_FOLDING_CONSTANT __VA_ARGS__

OT_FALL_THROUGH

 OT_FALL_THROUGH do                  \
    {                   \
    } while (false) /* fallthrough */

ไม่แสดงคำเตือนในคอมไพเลอร์ที่ระบุ

OT_MUST_USE_RESULT

 OT_MUST_USE_RESULT

ตัวบ่งชี้เฉพาะของคอมไพเลอร์ว่าต้องใช้คลาสหรือ enum เมื่อเป็นค่าที่แสดงผลของฟังก์ชัน

OT_TOOL_PACKED_BEGIN

 OT_TOOL_PACKED_BEGIN

ตัวบ่งชี้เฉพาะของคอมไพเลอร์ว่าคลาสหรือโครงสร้างจะต้องได้รับการแพ็คไบต์

OT_TOOL_PACKED_FIELD

 OT_TOOL_PACKED_FIELD

ระบุโครงสร้างที่ซ้อนกันหรือสหภาพที่ฝังอยู่ภายในคลาสหรือโครงสร้างการแพ็กไบต์ให้แก่คอมไพเลอร์

OT_TOOL_PRINTF_STYLE_FORMAT_ARG_CHECK

 OT_TOOL_PRINTF_STYLE_FORMAT_ARG_CHECK

ระบุว่าฟังก์ชันหรือเมธอดใช้อาร์กิวเมนต์รูปแบบ printf และควรตรวจสอบประเภทโดยเทียบกับสตริงรูปแบบ

ต้องเพิ่มหลังการประกาศฟังก์ชัน/เมธอด เช่น

void MyPrintf(void *aObject, const char *aFormat, ...) OT_TOOL_PRINTF_STYLE_FORMAT_ARG_CHECK(2, 3);

ค่าดัชนีอาร์กิวเมนต์ 2 ค่าระบุสตริงรูปแบบและอาร์กิวเมนต์แรกที่ต้องตรวจสอบ โดยเริ่มต้นที่ดัชนี 1 สำหรับพารามิเตอร์แรกในฟังก์ชัน และที่ดัชนี 2 สำหรับพารามิเตอร์แรกในเมธอด

รายละเอียด
พารามิเตอร์
[in] aFmtIndex
ดัชนีอาร์กิวเมนต์ของสตริงรูปแบบ
[in] aStartIndex
ดัชนีอาร์กิวเมนต์ของอาร์กิวเมนต์แรกที่จะตรวจสอบกับสตริงรูปแบบ

OT_TOOL_WEAK

 OT_TOOL_WEAK

ตัวแก้ไขสัญลักษณ์ที่ไม่รัดกุมเฉพาะของคอมไพเลอร์

OT_UNREACHABLE_CODE

 OT_UNREACHABLE_CODE CODE

ระงับคำเตือนเกี่ยวกับโค้ดที่เข้าถึงไม่ได้ใน Toolchain ที่เฉพาะเจาะจง

OT_UNUSED_VARIABLE

 OT_UNUSED_VARIABLE do                               \
    {                                \
        (void)(VARIABLE);            \
    } while (false)

ระงับคำเตือนตัวแปรที่ไม่ได้ใช้ใน Toolchain ที่เฉพาะเจาะจง

แหล่งข้อมูล

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