زنجیره ابزار

این ماژول یک لایه انتزاعی زنجیره ابزار را از طریق ماکروها تعریف می کند.

خلاصه

استفاده:

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) ;

دو مقدار شاخص آرگومان رشته فرمت و اولین آرگومان برای بررسی آن را نشان می دهد. آنها از شاخص 1 برای اولین پارامتر در یک تابع و از شاخص 2 برای اولین پارامتر در یک روش شروع می شوند.

جزئیات
مولفه های
[in] aFmtIndex
شاخص آرگومان رشته قالب.
[in] aStartIndex
شاخص آرگومان اولین آرگومان برای بررسی در برابر رشته قالب.

OT_TOOL_WEAK

 OT_TOOL_WEAK

اصلاح کننده نماد ضعیف مخصوص کامپایلر.

OT_UNREACHABLE_CODE

 OT_UNREACHABLE_CODE CODE

اخطار کد غیرقابل دسترس را در زنجیره های ابزار خاص سرکوب کنید.

OT_UNUSED_VARIABLE

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

اخطار متغیر استفاده نشده را در زنجیره ابزار خاص سرکوب کنید.

منابع

موضوعات مرجع OpenThread API از کد منبع موجود در GitHub سرچشمه می گیرند. برای اطلاعات بیشتر، یا مشارکت در اسناد ما، به منابع مراجعه کنید.