stdarg.h
来自「一个类linux的dos下开发的操作系统.」· C头文件 代码 · 共 35 行
H
35 行
#ifndef __TL_STDARG_H
#define __TL_STDARG_H
#ifdef __cplusplus
extern "C"
{
#endif /* #ifdef __cplusplus */
/* width of stack == width of int */
#define STACKITEM int
typedef unsigned char *va_list;
/* round up width of objects pushed on stack. The expression before the
& ensures that we get 0 for objects of size 0. */
#define VA_SIZE(TYPE) \
((sizeof(TYPE) + sizeof(STACKITEM) - 1) \
& ~(sizeof(STACKITEM) - 1))
/* &(LASTARG) points to the LEFTMOST argument of the function call
(before the ...) */
#define va_start(AP, LASTARG) \
(AP=((va_list)&(LASTARG) + VA_SIZE(LASTARG)))
#define va_end(AP) /* nothing */
#define va_arg(AP, TYPE) \
(AP += VA_SIZE(TYPE), *((TYPE *)(AP - VA_SIZE(TYPE))))
#ifdef __cplusplus
}
#endif /* #ifdef __cplusplus */
#endif /* #ifndef __TL_STDARG_H */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?