Chinaunix
标题:
内核里两个宏的疑问
[打印本页]
作者:
unixlanser
时间:
2005-10-26 11:18
标题:
内核里两个宏的疑问
linux/byteorder/swab.h里83行
#ifndef __arch__swab32
# define __arch__swab32(x) ({ __u32 __tmp = (x) ; ___swab32(__tmp); })
跟到__swab32看到
#define ___swab32(x) \
({ \
__u32 __x = (x); \
((__u32)( \
(((__u32)(__x) & (__u16)0x000000ffUL) << 24) |
....(以下省略)
....
我的问题是,经过这样的操作对x的值有影响吗?__arch__swab32(x)宏里调整的是__tmp,到了___swab32(x)宏里又调整了__x,这和最开始的x又有什么关系呢??
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2