【问题标题】:Understanding this part of this Header file理解这个头文件的这一部分
【发布时间】:2014-04-14 11:26:49
【问题描述】:
#ifndef STDARG_H_INCLUDED
#define STDARG_H_INCLUDED

typedef __builtin_va_list va_list;

#define va_start(v,l)   __builtin_va_start(v,l) // I don't understand this
#define va_arg(v,l)     __builtin_va_arg(v,l)
#define va_end(v)       __builtin_va_end(v)

#endif

好像作者定义了某种宏函数,但是我不明白这个函数是怎么工作的?

【问题讨论】:

    标签: c gcc macros typedef c-preprocessor


    【解决方案1】:
    #define va_start(v,l)   __builtin_va_start(v,l)
    

    简单来说就是va_start(v,l)会被__builtin_va_start(v,l)代替,而这个__builtin_va_start()显然是一个内置函数或者宏,是编译器或者libc自己实现的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-01-18
      • 2020-12-23
      • 2011-12-02
      • 2022-06-16
      • 1970-01-01
      • 1970-01-01
      • 2020-06-17
      相关资源
      最近更新 更多