Почему в stdarg.h есть макрос & #171; __ва _размер & #187;?

Я искал для некоторого кода о макросах, и я нашел такой код, для макроса « va _start »:

#define __va_argsiz(t)  \
    (((sizeof(t) + sizeof(int) - 1) / sizeof(int)) * sizeof(int))
#define va_start(ap, pN)    \
    ((ap) = ((va_list) (&pN) + __va_argsiz(pN)))

я хотел бы знать, какова цель функции « __va _argsiz ». Это ограничения по выравниванию?

Спасибо!

5
задан md5 27 April 2012 в 07:58
поделиться