Conjunto de ferramentas
Esse módulo define uma camada de abstração do conjunto de ferramentas por meio de macros.
Resumo
Uso:
typedef OT_TOOL_PACKED_BEGIN struct { char mField1; union { char mField2; long mField3; } OT_TOOL_PACKED_FIELD; } OT_TOOL_PACKED_END packed_struct_t;
Macros
OT_APPLE_IGNORE_GNU_FOLDING_CONSTANT
OT_APPLE_IGNORE_GNU_FOLDING_CONSTANT __VA_ARGS__
OT_FALL_THROUGH
OT_FALL_THROUGH do \ { \ } while (false) /* fallthrough */
Suprimir aviso de queda em compilador específico.
OT_MUST_USE_RESULT
OT_MUST_USE_RESULT
Indicação específica do compilador de que uma classe ou um tipo enumerado precisa ser usado quando for o valor de retorno de uma função.
OT_TOOL_PACKED_BEGIN
OT_TOOL_PACKED_BEGIN
Indicação específica do compilador de que uma classe ou um struct precisa ser empacotado em bytes.
OT_TOOL_PACKED_FIELD
OT_TOOL_PACKED_FIELD
Indique ao compilador uma estrutura aninhada ou união a ser empacotada na classe ou struct compacta com bytes.
OT_TOOL_PRINTF_STYLE_FORMAT_ARG_CHECK
OT_TOOL_PRINTF_STYLE_FORMAT_ARG_CHECK
Especifica que uma função ou um método usa argumentos de estilo printf
e precisa ser verificado quanto a uma string de formato.
Precisa ser adicionado após a declaração da função/método. Exemplo:
void MyPrintf(void *aObject, const char *aFormat, ...) OT_TOOL_PRINTF_STYLE_FORMAT_ARG_CHECK(2, 3);
Os dois valores de índice de argumentos indicam string de formato e o primeiro argumento a serem verificados. Elas começam no índice 1 para o primeiro parâmetro de uma função e no índice 2 para o primeiro parâmetro de um método.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
OT_TOOL_WEAK
OT_TOOL_WEAK
Modificador de símbolo fraco específico do compilador.
OT_UNREACHABLE_CODE
OT_UNREACHABLE_CODE CODE
Suprimir o aviso de código inacessível em conjuntos de ferramentas específicos.
OT_UNUSED_VARIABLE
OT_UNUSED_VARIABLE do \ { \ (void)(VARIABLE); \ } while (false)
Suprima o aviso de variável não utilizada em conjuntos de ferramentas específicos.
Recursos
Os tópicos de Referência da API OpenThread são originados do código-fonte, disponível no GitHub. Para mais informações ou para contribuir com nossa documentação, consulte Recursos.