工具鏈

這個模組會透過巨集定義工具鍊抽象層。

摘要

使用方式:

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_RESULTS

 OT_MUST_USE_RESULT

編譯器專屬指標,表示函式為傳回值時必須使用類別或列舉。

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_TOAK

 OT_TOOL_WEAK

編譯器專屬的低強度符號修飾符。

OT_UNREACHABLE_CODE

 OT_UNREACHABLE_CODE CODE

隱藏特定工具鍊中的「無法連上程式碼」警告。

OT_UNUSE_VARIABLE

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

隱藏特定工具鍊中未使用的變數警告。

資源

OpenThread API 參考資料主題源自原始碼,可於 GitHub 取得。如需更多資訊或為說明文件貢獻心力,請參閱資源