שרשרת כלים

מודול זה מגדיר שכבת הפשטה של 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

אינדיקציה ספציפית למהדר שמחלקה או struct חייבת להיות דחוסה בבייטים.

OT_TOOL_PACKED_FIELD

 OT_TOOL_PACKED_FIELD

אפשר לציין בפני המהדר ש-struct או איחוד מקננים שימולאו בתוך מחלקה או struct שארוזים לפי בייטים.

OT_TOOL_PRINTF_STYLE_FORMAT_ARG_CHECK

 OT_TOOL_PRINTF_STYLE_FORMAT_ARG_CHECK

מציינת שפונקציה או שיטה מקבלות ארגומנטים מסוג printf, ויש לבדוק את הסוג שלהם מול מחרוזת פורמט.

צריך להוסיף אותו אחרי הצהרת הפונקציה/method. לדוגמה:

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

שני ערכי האינדקס של הארגומנטים מציינים את מחרוזת הפורמט ואת הארגומנט הראשון שצריך לבדוק מולו. הם מתחילים באינדקס 1 עבור הפרמטר הראשון בפונקציה ובאינדקס 2 עבור הפרמטר הראשון ב-method.

פרטים
פרמטרים
[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. אפשר לקרוא מידע נוסף או לתרום למסמכי התיעוד שלנו בדף מקורות מידע.