stdarg.h

来自「嵌入式点菜系嵌入式点菜系统源码供参考c51c51统源码供参考嵌入式点菜系统源码供」· C头文件 代码 · 共 60 行

H
60
字号
/*			- STDARG.H -

   The ANSI macros for reading variable argument lists (...).

   Version: 3.20 [ICLM]
	   
*/

#ifndef _STDARG_INCLUDED

#if (__TID__ >> 8) == 4		 /* Z80/64180 */

typedef struct
  {
    char	*parm;
    char	*addr;
    char	argc;
  } va_list[1];

#if __TID__ & 0x8000
#pragma function=intrinsic(0)
#endif

char *_get_varg (va_list ap, char type, char size);

#if __TID__ & 0x8000
#pragma function=default
#endif

# define va_start(ap,parmN) ((ap[0].addr = ((char *) &parmN) + sizeof(parmN)),\
                             (ap[0].parm = _args$))

# define va_arg(ap,mode) *(mode *) _get_varg (ap, _argt$(mode), sizeof(mode))

#else		/* Not Z80 */

typedef void *va_list[1];

#if (__TID__ >> 8) == 1 && (__TID__ & 15) == 0

/* Single chip 8051 memory model special */

# define va_start(ap,parmN) (ap[0] = &parmN)
# define va_arg(ap,mode) (*--(*(mode **)ap))

#else		/* Not Z80 or 8051/small */

# define va_start(ap,parmN) ap[0] = ((char *) &parmN) + sizeof(parmN)
# define va_arg(ap,mode) (*(*(mode **) ap)++)

#endif

#endif

# define va_end(ap) 	/* -g option warns here - OK */

#define _STDARG_INCLUDED

#endif

⌨️ 快捷键说明

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