stdarg.h

来自「一个用于学习的操作系统」· C头文件 代码 · 共 29 行

H
29
字号
#ifndef _STDARG_H#define _STDARG_Htypedef char *va_list;/* Amount of space required in an argument list for an arg of type TYPE.   TYPE may alternatively be an expression whose type is used.  */#define __va_rounded_size(TYPE)  \  (((sizeof (TYPE) + sizeof (int) - 1) / sizeof (int)) * sizeof (int))#ifndef __sparc__#define va_start(AP, LASTARG)                       \ (AP = ((char *) &(LASTARG) + __va_rounded_size (LASTARG)))#else#define va_start(AP, LASTARG)                       \ (__builtin_saveregs (),                        \  AP = ((char *) &(LASTARG) + __va_rounded_size (LASTARG)))#endifvoid va_end(va_list);       /* Defined in gnulib */#define va_end(AP)#define va_arg(AP, TYPE)                        \ (AP += __va_rounded_size (TYPE),                   \  *((TYPE *) (AP - __va_rounded_size (TYPE))))#endif /* _STDARG_H */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?