va_list的定义是什么?

时间:2012-10-12 08:41:07

标签: c

enter image description here

typedef struct {
   unsigned int gp_offset;
   unsigned int fp_offset;
   void *overflow_arg_area;
   void *reg_save_area;
} va_list[1];

我在搜索时看到了两个。

BTW,va_list[1]是什么意思?

2 个答案:

答案 0 :(得分:2)

如何定义va_list完全取决于您的编译器,操作系统和ABI。在某些操作系统上,它可以通过结构甚至是指向某个东西的简单指针来定义,在其他操作系统上,它只是内部编译器黑魔法,不能用C结构表示。

答案 1 :(得分:-1)

你可以在这个

找到所有这些

http://research.microsoft.com/en-us/um/redmond/projects/invisible/include/stdarg.h.htm

在那里,您可以注意到va_list的定义何时根据环境而变化。

您还可以找到以下信息。

http://www.cplusplus.com/reference/clibrary/cstdarg/va_list/