execle函数原型
execle function prototype
最近在研究Unix系统编程。我在 exec
、
的手册页中看到了这个
int execle(const char *path, const char *arg,..., char * const envp[]);
这个函数原型怎么中间有一个...
?这甚至无法编译!
有人可以解释一下这个原型吗?
我觉得这只是给用户看的,内部实现不同。这只是一个猜测,我不确定。
I feel that this is just there for the users to see
假设您对尾随的 envp[] 感到困惑,您是对的。如果我们查看 POSIX 文档,我们会发现实际原型应该是:
int execle(const char *, const char *, ...);
事实上,如果您在您的系统上查阅 unistd.h
,您可能会找到这种形式的内容:
//glibc
extern int execle (__const char *__path, __const char *__arg, ...)
__THROW __nonnull ((1, 2));
//musl
int execle(const char *, const char *, ...);
//cygwin
int _EXFUN(execle, (const char *__path, const char *, ... ));
最近在研究Unix系统编程。我在 exec
、
int execle(const char *path, const char *arg,..., char * const envp[]);
这个函数原型怎么中间有一个...
?这甚至无法编译!
有人可以解释一下这个原型吗?
我觉得这只是给用户看的,内部实现不同。这只是一个猜测,我不确定。
I feel that this is just there for the users to see
假设您对尾随的 envp[] 感到困惑,您是对的。如果我们查看 POSIX 文档,我们会发现实际原型应该是:
int execle(const char *, const char *, ...);
事实上,如果您在您的系统上查阅 unistd.h
,您可能会找到这种形式的内容:
//glibc
extern int execle (__const char *__path, __const char *__arg, ...)
__THROW __nonnull ((1, 2));
//musl
int execle(const char *, const char *, ...);
//cygwin
int _EXFUN(execle, (const char *__path, const char *, ... ));