stdarg.h

来自「sdcc的win版本.是small device c compiler的意思.支」· C头文件 代码 · 共 37 行

H
37
字号
/*-----------------------------------------------------------------------------------*/
/* stdarg.h - ANSI macros for variable parameter list				     */
/*-----------------------------------------------------------------------------------*/

#ifndef __SDC51_STDARG_H
#define __SDC51_STDARG_H 1

#if defined(__z80) || defined(__gbz80)

typedef unsigned char * va_list;
#define va_start(list, last)	list = (unsigned char *)&last + sizeof(last)
#define va_arg(list, type)	*((type *)((list += sizeof(type)) - sizeof(type)))

#elif defined(__ds390)

typedef	unsigned char * va_list ;
#define va_arg(marker,type) *((type *)(marker -= sizeof(type)))
#define	va_start(marker,first) { marker = &first; }

#elif defined(SDCC_USE_XSTACK)

typedef	unsigned char _pdata * va_list ;
#define va_arg(marker,type) *((type data *)(marker -= sizeof(type)))
#define	va_start(marker,first) { marker = (va_list)((char _pdata *)&first); }

#else

typedef	unsigned char data * va_list ;
#define va_arg(marker,type) *((type data * )(marker -= sizeof(type)))
#define	va_start(marker,first) { marker = (va_list) ((char data * )&first); }

#endif

#define va_end(marker) marker = (va_list) 0;

#endif

⌨️ 快捷键说明

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