xt-sdk 文档 v1.0.3
xt-sdk 嵌入式 SDK API 参考
载入中...
搜索中...
未找到
xt_macro(通用宏)

XTINY 通用宏定义(数组大小、对齐、MIN/MAX 等) 更多...

宏定义

#define XT_STATIC_ASSERT(const_expression)
#define XT_STATIC_ASSERT_MSG(const_expression, msg)
#define XT_ARRAY_SIZE(arr)
#define XT_UNUSED(x)
#define XT_OFFSETOF(type, member)
#define XT_CONTAINER_OF(ptr, type, member)
#define XT_ABS(x)
#define XT_MAX(x, y)
#define XT_MIN(x, y)
#define XT_DIV_ROUND_UP(n, d)
#define XT_DIV_ROUND_DOWN(n, d)
#define XT_IN_RANGE(val, min, max)
#define __XT_ALIGN_MASK(x, mask)
#define XT_ALIGN(x, num_pow_of_2)
#define XT_ALIGN_DOWN(x, num_pow_of_2)
#define XT_PTR_ALIGN(p, num_pow_of_2)
#define XT_IS_ALIGNED(x, num_pow_of_2)
#define XT_IS_POWER_OF_TWO(x)

详细描述

XTINY 通用宏定义(数组大小、对齐、MIN/MAX 等)

宏定义说明

◆ __XT_ALIGN_MASK

#define __XT_ALIGN_MASK ( x,
mask )
值:
(((x) + (mask)) & ~(mask))

在文件 xt_macro.h 第 50 行定义.

◆ XT_ABS

#define XT_ABS ( x)
值:
((x) < 0 ? -(x) : (x))

在文件 xt_macro.h 第 43 行定义.

◆ XT_ALIGN

#define XT_ALIGN ( x,
num_pow_of_2 )
值:
__XT_ALIGN_MASK(x, (num_pow_of_2) - 1)
#define __XT_ALIGN_MASK(x, mask)

在文件 xt_macro.h 第 51 行定义.

◆ XT_ALIGN_DOWN

#define XT_ALIGN_DOWN ( x,
num_pow_of_2 )
值:
XT_ALIGN((x) - ((num_pow_of_2) - 1), (num_pow_of_2))
#define XT_ALIGN(x, num_pow_of_2)

在文件 xt_macro.h 第 52 行定义.

◆ XT_ARRAY_SIZE

#define XT_ARRAY_SIZE ( arr)
值:
(sizeof(arr) / sizeof((arr)[0]))

在文件 xt_macro.h 第 37 行定义.

◆ XT_CONTAINER_OF

#define XT_CONTAINER_OF ( ptr,
type,
member )
值:
((type *)((char *)(ptr) - XT_OFFSETOF(type, member)))
#define XT_OFFSETOF(type, member)

在文件 xt_macro.h 第 41 行定义.

◆ XT_DIV_ROUND_DOWN

#define XT_DIV_ROUND_DOWN ( n,
d )
值:
((n) / (d))

在文件 xt_macro.h 第 47 行定义.

◆ XT_DIV_ROUND_UP

#define XT_DIV_ROUND_UP ( n,
d )
值:
(((n) + (d) - 1) / (d))

在文件 xt_macro.h 第 46 行定义.

◆ XT_IN_RANGE

#define XT_IN_RANGE ( val,
min,
max )
值:
((min) <= (val) && (val) <= (max))

在文件 xt_macro.h 第 48 行定义.

◆ XT_IS_ALIGNED

#define XT_IS_ALIGNED ( x,
num_pow_of_2 )
值:
(((x) & ((num_pow_of_2) - 1)) == 0)

在文件 xt_macro.h 第 54 行定义.

◆ XT_IS_POWER_OF_TWO

#define XT_IS_POWER_OF_TWO ( x)
值:
(((x) != 0) && ((((x) - 1) & (x)) == 0))

在文件 xt_macro.h 第 56 行定义.

◆ XT_MAX

#define XT_MAX ( x,
y )
值:
((x) > (y) ? (x) : (y))

在文件 xt_macro.h 第 44 行定义.

◆ XT_MIN

#define XT_MIN ( x,
y )
值:
((x) < (y) ? (x) : (y))

在文件 xt_macro.h 第 45 行定义.

◆ XT_OFFSETOF

#define XT_OFFSETOF ( type,
member )
值:
((size_t)&((type *)0)->member)

在文件 xt_macro.h 第 40 行定义.

◆ XT_PTR_ALIGN

#define XT_PTR_ALIGN ( p,
num_pow_of_2 )
值:
XT_ALIGN((uintptr_t)(p), (num_pow_of_2))

在文件 xt_macro.h 第 53 行定义.

◆ XT_STATIC_ASSERT

#define XT_STATIC_ASSERT ( const_expression)
值:
extern char (*O_o(char static_assertion_failure[1 - 2 * !(const_expression)]))

在文件 xt_macro.h 第 34 行定义.

◆ XT_STATIC_ASSERT_MSG

#define XT_STATIC_ASSERT_MSG ( const_expression,
msg )
值:
extern char (*O_o(char static_assertion_failure[1 - 2 * !(const_expression)]))

在文件 xt_macro.h 第 35 行定义.

◆ XT_UNUSED

#define XT_UNUSED ( x)
值:
(void)(x)

在文件 xt_macro.h 第 38 行定义.