Инструментальная цепочка
Этот модуль определяет уровень абстракции цепочки инструментов посредством макросов.
Краткое содержание
Использование:
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 . Для получения дополнительной информации или внесения вклада в нашу документацию обратитесь к Ресурсам .