__attribute__如何使用的记录

本文探讨了Linux内核中__attribute__的不同用法,包括__rcu和aligned属性的具体含义及作用。__rcu用于标记RCU保护的数据结构,确保Sparsecode工具能正确地进行检查。而aligned属性则指定了变量的最小对齐要求。

在内核中看到各种个样的__attribute__的属性的使用,在这个帖子中,逐渐记录我看到的每个使用。


 

# define __rcu __attribute__((noderef, address_space(4)))

RCU代表的是 "read, copy, update"。它是一种算法,允许多个读者访问数据,并且同时允许修改者,删除者能够进行操作。

如果内核使用 CONFIG_SPARSE_RCU_POINTER 的编译, __rcu 就会被定义为上面的定义。

这是一种标记,可以给Sparse code 分析工具来对于某些东西进行警告。

引用 http://stackoverflow.com/questions/17128210/what-does-rcu-stands-for-in-linux

可以知道: __rcu sparse 检查:使用__rcu 附上 RCU保护的数据结构,如果你没有使用rcu_dereference()类中某个函数,Sparse就会警告你这个操作。

 


__attribute__((aligned(4)))

参考网页:https://gcc.gnu.org/onlinedocs/gcc-4.0.2/gcc/Type-Attributes.html

aligned (alignment): 这个属性指定对于一个变量,最小的对齐标准。

 


 

转载于:https://www.cnblogs.com/hwy89289709/p/6849975.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值