Conjunto de ferramentas
Neste módulo, definimos uma camada de abstração do conjunto de ferramentas com 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__
OTIMIZADO
OT_FALL_THROUGH do \ { \ } while (false) /* fallthrough */
Suprimir um aviso de falha no compilador específico.
OT_PRECISA_USE_RESULTADO
OT_MUST_USE_RESULT
Indicação específica do compilador de que uma classe ou enumeração precisa ser usada quando é o valor de retorno de uma função.
OT_FERRAMENTA_PACKED_BEGIN
OT_TOOL_PACKED_BEGIN
Indicação específica do compilador de que uma classe ou struct precisa ser empacotada por bytes.
OT_FERRAMENTA_PACKED_FIELD
OT_TOOL_PACKED_FIELD
Indicar ao compilador uma estrutura ou união aninhada para ser empacotada dentro da classe ou estrutura da byte.
OT_Tool_PRINTF_STYLE_FORMAT_ARG_CHECK
OT_TOOL_PRINTF_STYLE_FORMAT_ARG_CHECK
Essa macro especifica que uma função ou um método usa argumentos de estilo printf
e precisa ser verificado por tipo em relação a uma string de formato.
Essa macro deve ser adicionada depois da 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 do argumento indicam a string de formato e o primeiro argumento a ser comparado. Eles começam no índice 1 para o primeiro parâmetro em uma função e no índice 2 para o primeiro parâmetro em um método.
Detalhes | |||||
---|---|---|---|---|---|
Parâmetros |
|
OTIMIZAÇÃO_DE_MATERIALMENTE
OT_TOOL_WEAK
Modificador de símbolo fraco específico do compilador
OT_UNREACHABLE_CODE
OT_UNREACHABLE_CODE CODE
Suprimir aviso de código inacessível em conjuntos de ferramentas específicos.
OT_UNUSE_VARIABLE
OT_UNUSED_VARIABLE do \ { \ (void)(VARIABLE); \ } while (false)
Suprimir 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 provenientes do código-fonte, disponível no GitHub. Para saber mais ou contribuir com nossa documentação, consulte Recursos.