Pęk narzędzi
Ten moduł definiuje warstwę abstrakcji łańcucha narzędzi za pomocą makr.
Podsumowanie
Sposób użycia:
typedef OT_TOOL_PACKED_BEGIN struct { char mField1; union { char mField2; long mField3; } OT_TOOL_PACKED_FIELD; } OT_TOOL_PACKED_END packed_struct_t;
Makra
OT_APPLE_IGNORE_GNU_FOLDING_CONSTANT
OT_APPLE_IGNORE_GNU_FOLDING_CONSTANT __VA_ARGS__
OT_FALL_THROUGH
OT_FALL_THROUGH do \ { \ } while (false) /* fallthrough */
Pomiń ostrzeżenie o upadku w konkretnym kompilatorze.
OT_MUST_USE_RESULT
OT_MUST_USE_RESULT
Wskazanie specyficzne dla kompilatora, że należy użyć klasy lub wyliczenia, gdy jest to wartość zwracana funkcji.
OT_TOOL_PACKED_BEGIN
OT_TOOL_PACKED_BEGIN
Wskazanie specyficzne dla kompilatora, że klasa lub struktura musi być spakowana do bajtów.
OT_TOOL_PACKED_FIELD
OT_TOOL_PACKED_FIELD
Wskaż kompilatorowi zagnieżdżoną strukturę lub połączenie, które mają zostać spakowane do klasy lub struct w bajtach.
OT_TOOL_PRINTF_STYLE_FORMAT_ARG_CHECK
OT_TOOL_PRINTF_STYLE_FORMAT_ARG_CHECK
Określa, że funkcja lub metoda przyjmuje argumenty stylu printf
i powinny być sprawdzane pod kątem ciągu formatu.
Należy dodać po zadeklarowaniu funkcji/metody. Na przykład:
void MyPrintf(void *aObject, const char *aFormat, ...) OT_TOOL_PRINTF_STYLE_FORMAT_ARG_CHECK(2, 3);
Dwie wartości indeksu argumentów wskazują ciąg formatu i pierwszy argument do sprawdzenia. Zaczynają się od indeksu 1 dla pierwszego parametru w funkcji i od indeksu 2 dla pierwszego parametru w metodzie.
Szczegóły | |||||
---|---|---|---|---|---|
Parametry |
|
OT_TOOL_WEAK
OT_TOOL_WEAK
Słaby modyfikator symboli związany z kompilatorem.
OT_UNREACHABLE_CODE
OT_UNREACHABLE_CODE CODE
Ukryj ostrzeżenie o nieosiągalnym kodzie w określonych łańcuchach narzędzi.
OT_UNUSED_VARIABLE
OT_UNUSED_VARIABLE do \ { \ (void)(VARIABLE); \ } while (false)
Ogranicz ostrzeżenie o nieużywanych zmiennych w określonych łańcuchach narzędzi.
Zasoby
Tematy referencyjne interfejsu OpenThread API pochodzą z kodu źródłowego dostępnego w GitHub. Aby dowiedzieć się więcej lub dołączyć do naszej dokumentacji, skorzystaj z sekcji Zasoby.