其他分享
首页 > 其他分享> > 计算克隆函数的变量参数数量

计算克隆函数的变量参数数量

作者:互联网

我正在尝试LD_PRELOAD linux的克隆功能.在我的LD_PRELOADed版本中,需要在调用原始克隆函数之前记录输入参数.但是,问题是克隆使用可变数量的参数.这样声明.

int clone(int (*fn)(void *), void *child_stack, int flags, void *arg, ...
/* pid_t *pid, struct user_desc *tls, pid_t *ctid */ );

现在要将这些参数传递给原始的克隆函数,我必须知道传递的参数数目.我该怎么做?

解决方法:

如果存在NULL终止符,则可以在不返回NULL的情况下调用va_arg.

标签:x86-64,gcc,variadic-functions,c-3,linux
来源: https://codeday.me/bug/20191101/1981573.html