stdarg.h

来自「OMAP1030 处理器的ARM 侧硬件测试代码 OMAP1030 是TI」· C头文件 代码 · 共 66 行

H
66
字号
/*****************************************************************************/
/* stdarg.h   v2.24                                                         */
/* Copyright (c) 1996-2002 Texas Instruments Incorporated                    */
/*****************************************************************************/

#ifndef _STDARG
#define _STDARG

#ifdef __cplusplus
#define _NS_PREFIX std::
namespace std {
#else
#define _NS_PREFIX
#endif /* __cplusplus */

typedef char *va_list;

#ifdef __cplusplus
} /* namespace std */
#endif

#define va_start(ap, parmN)                                                   \
   ((ap) = (!__va_argref(parmN) && sizeof(parmN) == sizeof(double)            \
	    ? (_NS_PREFIX va_list)((int)&(parmN) + 8)                         \
            : (!__va_argref(parmN) && sizeof(parmN) <= sizeof(short))         \
            ? (_NS_PREFIX va_list)((int)&(parmN) + 4 & ~3)                    \
            : (_NS_PREFIX va_list)((int)&(parmN) + 4 )))


#ifdef __big_endian__
#define va_arg(_ap, _type)                                       \
        (__va_argref(_type) ? **(_type**)(_ap)++:                \
         ((sizeof(_type) == sizeof(double)                       \
             ? ((_ap += 8), (*(_type *)(_ap - 8)))               \
             : ((_ap += 4), (*(_type *)(_ap - (sizeof(_type))))))))
#else
#define va_arg(_ap, _type)                                       \
        (__va_argref(_type) ? **(_type**)(_ap)++:                \
         ((sizeof(_type) == sizeof(double)                       \
             ? ((_ap += 8), (*(_type *)(_ap - 8)))               \
             : ((_ap += 4), (*(_type *)(_ap - 4))))))
#endif

#define va_end(ap)

#ifdef __cplusplus

#ifndef _CPP_STYLE_HEADER
using std::va_list;
#endif /* _CPP_STYLE_HEADER */

#endif /* __cplusplus */

#else

#ifdef __cplusplus

#ifndef _CPP_STYLE_HEADER
using std::va_list;
#endif /* _CPP_STYLE_HEADER */

#endif /* __cplusplus */

#endif /* _STDARG */

⌨️ 快捷键说明

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