为什么 Linux C API 'open' 支持函数重载?

Why does the Linux C API 'open' support function overloading?

根据the Linux manual page,Linux C API open有两个原型如下:

int open(const char *pathname, int oflags);
int open(const char *pathname, int oflags, mode_t mode);

让我困惑的是:

为什么Linux CAPI'open'支持函数重载?

不,C 不支持函数重载。

POSIXopen函数实际上是一个可变参数函数,它的签名是:

int open(const char *path, int oflag, ... );