为什么 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, ... );
根据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, ... );