当前位置:网站首页>B_QuRT_User_Guide(40)

B_QuRT_User_Guide(40)

2022-07-07 21:52:00 weixin_38498942

B_QuRT_User_Guide(40)

27.19 qurt_atomic_dec_return()

27.19.1 功能文档

27.19.1.1 static QURT_INLINE unsigned int qurt_atomic_dec_return ( unsigned int ∗target )

将原子变量减一。

注意:该函数会重试,直到加载锁定和条件存储成功。

参数

in,outtarget指向原子变量的指针。

返回值
减值。

依赖项
None.

27.20 qurt_atomic_compare_and_set()

27.20.1 功能文档

27.20.1.1 static QURT_INLINE unsigned int qurt_atomic_compare_and_set (unsigned int ∗ target, unsigned int old_val, unsigned int new_val )

将原子变量的当前值与指定值进行比较,并在比较成功时设置为新值。

注意:该函数会重试,直到加载锁定和条件存储成功。

参数

in,outtarget指向原子变量的指针。
inold_val要比较的旧值。
innew_val要设置的新值。

返回值
FALSE – 指定值不等于当前值。
TRUE – 指定值等于当前值。

依赖项
None.

27.21 qurt_atomic_barrier()

27.21.1 功能文档

27.21.1.1 static QURT_INLINE void qurt_atomic_barrier ( void )

允许编译器对函数前后发出的内存操作强制执行排序约束。

返回值
None.

依赖项
None.

27.22 qurt_atomic64_set()

27.22.1 功能文档

27.22.1.1 static QURT_INLINE unsigned long long qurt_atomic64_set ( unsigned long long ∗ target, unsigned long long value )

使用指定值设置 64 位原子变量。

参数

in,outtarget指向原子变量的指针。
invalue要设置的 64 位值。

返回值
成功设置值。

依赖项
None.

27.23 qurt_atomic64_and_return()

27.23.1 功能文档

27.23.1.1 static QURT_INLINE unsigned long long qurt_atomic64_and_return (unsigned long long ∗ target, unsigned long long mask )

带掩码的 64 位原子变量的按位与运算。

注意:该函数会重试,直到加载锁定和条件存储成功。

参数

in,outtarget指向原子变量的指针。
inmask按位与的 64 位掩码。

返回值
带有掩码的 64 位原子变量的 AND 结果。

依赖项
None.

27.24 qurt_atomic64_or()

27.24.1 功能文档

27.24.1.1 static QURT_INLINE void qurt_atomic64_or ( unsigned long long ∗ target,unsigned long long mask )

带掩码的 64 位原子变量的按位或运算。

注意:该函数会重试,直到加载锁定和条件存储成功。

参数

in,outtarget指向原子变量的指针。
inmask按位或的 64 位掩码。

返回值
None.

依赖项
None.

27.25 qurt_atomic64_or_return()

27.25.1 功能文档

27.25.1.1 static QURT_INLINE unsigned long long qurt_atomic64_or_return (unsigned long long ∗ target, unsigned long long mask )

带掩码的 64 位原子变量的按位或运算。

注意:该函数会重试,直到加载锁定和条件存储成功。

参数

in,outtarget指向原子变量的指针。
inmask按位或的 64 位掩码。

返回值
带有掩码的原子变量的OR结果。

依赖项
None.

27.26 qurt_atomic64_xor_return()

27.26.1 功能文档

27.26.1.1 static QURT_INLINE unsigned long long qurt_atomic64_xor_return (unsigned long long ∗ target, unsigned long long mask )

带掩码的 64 位原子变量的按位异或运算。

注意:该函数会重试,直到加载锁定和条件存储成功。

参数

in,outtarget指向原子变量的指针。
inmask用于按位异或的 64 位掩码。

返回值
带有掩码的原子变量的XOR结果。

依赖项
None.

27.27 qurt_atomic64_set_bit()

27.27.1 功能文档

27.27.1.1 static QURT_INLINE void qurt_atomic64_set_bit ( unsigned long long ∗target, unsigned int bit )

在 64 位原子变量中的指定位置设置一个位。

注意:该函数会重试,直到加载锁定和条件存储成功。

参数

in,outtarget指向原子变量的指针。
inbit要设置的bit位置。

返回值
None.

依赖项
None.

27.28 qurt_atomic64_clear_bit()

27.28.1 功能文档

27.28.1.1 static QURT_INLINE void qurt_atomic64_clear_bit ( unsigned long long ∗target, unsigned int bit )

清除 64 位原子变量中指定位置的位。

注意:该函数会重试,直到加载锁定和条件存储成功。

参数

in,outtarget指向原子变量的指针。
inbit要清除的bit位置。

返回值
None.

依赖项
None.

27.29 qurt_atomic64_change_bit()

27.29.1 功能文档

27.29.1.1 static QURT_INLINE void qurt_atomic64_change_bit ( unsigned long long ∗target, unsigned int bit )

在bit位置的 64 位原子变量中切换位。

注意:该函数会重试,直到加载锁定和条件存储成功。

参数

in,outtarget指向原子变量的指针。
inbit要切换的bit位置。

返回值
None.

依赖项
None.

27.30 qurt_atomic64_add()

27.30.1 功能文档

27.30.1.1 static QURT_INLINE void qurt_atomic64_add ( unsigned long long ∗ target,unsigned long long v )

将 64 位整数加到 64 位原子变量。

注意:该函数会重试,直到加载锁定和条件存储成功。

参数

in,outtarget指向原子变量的指针。
inv要加的 64 位整数值。

返回值
None.

依赖项
None.

27.31 qurt_atomic64_add_return()

27.31.1 功能文档

27.31.1.1 static QURT_INLINE unsigned long long qurt_atomic64_add_return (unsigned long long ∗ target, unsigned long long v )

将 64 位整数加到 64 位原子变量。

注意:该函数会重试,直到加载锁定和条件存储成功。

参数

in,outtarget指向原子变量的指针。
inv要加的 64 位整数值。

返回值
算术和的结果。

依赖项
None.

27.32 qurt_atomic64_sub_return()

27.32.1 功能文档

27.32.1.1 static QURT_INLINE unsigned long long qurt_atomic64_sub_return (unsigned long long ∗ target, unsigned long long v )

从原子变量中减去一个 64 位整数。

注意:该函数会重试,直到加载锁定和条件存储成功。

参数

in,outtarget指向原子变量的指针。
inv要减去的 64 位整数值。

返回值
算术减法的结果。

依赖项
None.

27.33 qurt_atomic64_inc()

27.33.1 功能文档

27.33.1.1 static QURT_INLINE void qurt_atomic64_inc ( unsigned long long ∗ target )

将 64 位原子变量加一。

注意:该函数会重试,直到加载锁定和条件存储成功。

参数

in,outtarget指向原子变量的指针。

返回值
None.

依赖项
None.

27.34 qurt_atomic64_inc_return()

27.34.1 功能文档

27.34.1.1 static QURT_INLINE unsigned long long qurt_atomic64_inc_return (unsigned long long ∗ target )

将 64 位原子变量加一

注意:该函数会重试,直到加载锁定和条件存储成功。

参数

in,outtarget指向原子变量的指针。

返回值
增量值。

依赖项
None.

27.35 qurt_atomic64_dec_return()

27.35.1 功能文档

27.35.1.1 static QURT_INLINE unsigned long long qurt_atomic64_dec_return (unsigned long long ∗ target )

将 64 位原子变量减一。

注意:该函数会重试,直到加载锁定和条件存储成功。

参数

in,outtarget指向原子变量的指针。

返回值
减值。

依赖项
None.

27.36 qurt_atomic64_compare_and_set()

27.36.1 功能文档

27.36.1.1 static QURT_INLINE int qurt_atomic64_compare_and_set ( unsigned long long ∗ target, unsigned long long old_val, unsigned long long new_val )

将 64 位原子变量的当前值与指定值进行比较,并在比较成功时设置为新值。

注意:该函数会重试,直到加载锁定和条件存储成功。

参数

in,outtarget指向原子变量的指针。
inold_val要比较的 64 位旧值。
innew_val要设置的 64 位新值。

返回值
FALSE – 指定值不等于当前值。
TRUE – 指定值等于当前值。

依赖项
None.

原网站

版权声明
本文为[weixin_38498942]所创,转载请带上原文链接,感谢
https://blog.csdn.net/weixin_38498942/article/details/125656169