__builtin_va_start(v,l)的实现 [英] Implementation of __builtin_va_start(v,l)
问题描述
在glibc中使用可变宏的兔子洞,我已经达到 /usr/lib/gcc/x86_64-linux-gnu/4.8.2/include/stdarg.h
其中,例如, va_start
宏被定义为:
# define va_start(v,l)__builtin_va_start(v,l)
但是我一直在寻找 __ builtin_va_start(v,l)
没有成功。我已经搜索了Google搜索,并且我得到的最远距离是微软的Visual Studio实现,我认为这并没有根本的不同。
builtin关键字在 gcc / builtins.c
的第4169行处理
Going down the rabbit hole of variadic macros in glibc, I’ve reached /usr/lib/gcc/x86_64-linux-gnu/4.8.2/include/stdarg.h
where, for example, the va_start
macro is defined as:
#define va_start(v,l) __builtin_va_start(v,l)
But I’ve been trying to look for the actual implementation of __builtin_va_start(v,l)
without success. I’ve googled and grepped for it, and the furthest I’ve gotten to is Microsoft’s implementation for Visual Studio, which I suppose isn’t radically different.
Does anybody know where glibc implementation is?
TIA.
To look in the source code of gcc, download the matching version from http://www.netgull.com/gcc/releases/ For example, the 4.8.2 version is at http://www.netgull.com/gcc/releases/gcc-4.8.2/ (82 MB).
The builtin keyword is handled at line 4169 of gcc/builtins.c
这篇关于__builtin_va_start(v,l)的实现的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!