宏_INTSIZEOF(n)实现看不懂,求分析。
宏_INTSIZEOF(n),它求出变量占用内存空间的大小,是va的实现的基础。
#define _INTSIZEOF(n) ((sizeof(n)+sizeof(int)-1)&~(sizeof(int) - 1) )
深入浅出VA函数
http://www.ibm.com/developerworks/cn/linux/l-va/
第三节
看不懂&~(sizeof(int) - 1) 的意思,自然也不知道这个宏的意思了。
不能直接用sizieof(n)是为了保证宏的通用性,是吧?不过这个定义就看不懂了。
求指导。