Инструментальная цепочка
Этот модуль определяет уровень абстракции цепочки инструментов посредством макросов.
Краткое содержание
Использование:
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
Указание, специфичное для компилятора, о том, что класс или перечисление необходимо использовать, если он является возвращаемым значением функции.
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 для первого параметра в методе.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
|
OT_TOOL_WEAK
OT_TOOL_WEAK
Модификатор слабого символа, специфичный для компилятора.
OT_UNREACHABLE_CODE
OT_UNREACHABLE_CODE CODE
Подавить предупреждение о недостижимости кода в определенных цепочках инструментов.
OT_UNUSED_VARIABLE
OT_UNUSED_VARIABLE do \
{ \
(void)(VARIABLE); \
} while (false)
Подавить предупреждение о неиспользуемой переменной в определенных цепочках инструментов.
Ресурсы
Справочные разделы API OpenThread взяты из исходного кода, доступного на GitHub . Для получения дополнительной информации или внесения вклада в нашу документацию обратитесь к Ресурсам .