这个宏定义什么意思?
本帖最后由 catch 于 2014-10-15 15:49 编辑#define __va_size(type) \
(((sizeof(type) + sizeof(long) - 1) / sizeof (long)) * sizeof (long))
求类型在栈中的长度而已,在栈中数据长度需要对齐。
例如:在32位栈中,这里就是计算出四字节对齐。您这里是按照long类型的长度对齐的 漩涡鸣人 发表于 2014-10-15 18:52
求类型在栈中的长度而已,在栈中数据长度需要对齐。
例如:在32位栈中,这里就是计算出四字节对齐。您这里 ...
可不可以详细说一下,有点懵,谢谢~ catch 发表于 2014-10-15 19:15
可不可以详细说一下,有点懵,谢谢~
其实就是计算出对齐值的倍数。
假设是四字节对齐:
1~4字节的类型实际需要4字节栈空间,5~8字节类型实际需要8字节空间
va_size宏就是计算出这值 漩涡鸣人 发表于 2014-10-15 19:29
其实就是计算出对齐值的倍数。
假设是四字节对齐:
1~4字节的类型实际需要4字节栈空间,5~8字节类型实 ...
嗯,有点明白了,谢谢哦~ 漩涡鸣人 发表于 2014-10-15 18:52
求类型在栈中的长度而已,在栈中数据长度需要对齐。
例如:在32位栈中,这里就是计算出四字节对齐。您这里 ...
请问第一行最后的斜杠是什么意思? scdwuhan 发表于 2014-10-16 09:22
请问第一行最后的斜杠是什么意思?
表示语句延长到两行 漩涡鸣人 发表于 2014-10-16 18:34
表示语句延长到两行
多谢
页:
[1]