当前位置: 技术问答>linux和unix
初学者请问“存储管理”中一个宏定义
来源: 互联网 发布时间:2016-01-25
本文导语: #define swp_entry_to_pte(x) ((pte_t){(x).val}) 请问这里的{} 是什么作用? | #define swp_entry_to_pte(x) ((pte_t){(x).val}) 首先:(x) ,()是必需的,否则,如果x为指针 *p.val 和(*p).val 显然是不一样的. 其次{(x).val}...
#define swp_entry_to_pte(x) ((pte_t){(x).val})
请问这里的{} 是什么作用?
请问这里的{} 是什么作用?
|
#define swp_entry_to_pte(x) ((pte_t){(x).val})
首先:(x) ,()是必需的,否则,如果x为指针 *p.val 和(*p).val 显然是不一样的.
其次{(x).val} ,{}是必需的,否则 (pte_t)(x).val 就对(x)作了强制转换,而不是我们想要的对(x).val作强制转换, 因为()和.是同一优先级别的,而结合性是从左到右的,所以()是先结合起来的.
首先:(x) ,()是必需的,否则,如果x为指针 *p.val 和(*p).val 显然是不一样的.
其次{(x).val} ,{}是必需的,否则 (pte_t)(x).val 就对(x)作了强制转换,而不是我们想要的对(x).val作强制转换, 因为()和.是同一优先级别的,而结合性是从左到右的,所以()是先结合起来的.
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。