__builtin_va_start(v,l)的实现 [英] Implementation of __builtin_va_start(v,l)

查看:2145
本文介绍了__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实现,我认为这并没有根本的不同。



有人知道glibc的实现吗?
$ b $ TIA。
<为了查看gcc的源代码,请从

> http://www.netgull.com/gcc/releases/ 例如,4.8.2版本位于 http://www.netgull.com/gcc/releases/gcc-4.8.2/ (82 MB)。

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆