在Hpux C程序中__(两个下划线)代表什么?



我在HPUX C程序中看到以下代码:

   extern int fcntl __((int, int, ...));
   _LF_EXTERN int creat __((const char *, mode_t));

这些行使用aCC编译。

谁能告诉我上面代码中fcntlcreat后面的2个下划线是什么意思?

这很可能是一个宏,它允许在旧的ansi之前的C编译器中使用头文件。
"老式"的C函数声明不包括参数类型。

我猜它的定义有点像这样

#ifdef __STDC__
#define __(params) params
#else
#define __(params) ()
#endif 

我相信类型安全的函数原型是C从c++中采用的第一个语言特性之一。
事实上,我记得这些让我觉得自己非常非常老。

最新更新