📄 stdarg.h
字号:
/* stdarg.h for GNU. Note that the type used in va_arg is supposed to match the actual type **after default promotions**. Thus, va_arg (..., short) is not valid. */#ifndef _STDARG_H#define _STDARG_H/* The macro _VA_LIST_ is the same thing used by this file in Ultrix. */#ifndef _VA_LIST_#define _VA_LIST_typedef char *va_list;#endif/* 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 *) __builtin_next_arg ()))#else#define va_start(AP, LASTARG) \ (__builtin_saveregs (), \ AP = ((char *) __builtin_next_arg ()))#endifvoid va_end (va_list); /* Defined in gnulib */#define va_end(AP)#ifdef __mips__#define va_arg(AP, mode) ((mode *)(AP = \ (char *) (sizeof(mode) > 4 ? ((int)AP + 2*8 - 1) & -8 \ : ((int)AP + 2*4 - 1) & -4)))[-1]#else /* not __mips__ */#define va_arg(AP, TYPE) \ (*((TYPE *) (AP += __va_rounded_size (TYPE), \ AP - (sizeof (TYPE) < 4 ? sizeof (TYPE) \ : __va_rounded_size (TYPE)))))#endif /* not __mips__ */#endif /* _STDARG_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -