static void setup_signals __P((void)); 这个__P((void))是什么意思?

时间:2021-03-26 17:57:40
在linux的代码中,经常看到static void setup_signals __P((void));这样的申明,在这里的__P((void))是什么意思?请高手赐教。thanks

9 个解决方案

#1


别名,没多大意义.我猜得.

#2


找一下__P的宏定义就应该明白的差不多了。

#3


清说的具体些,好吗?谢谢

#4


宏定义的内部函数,两个"_"纯粹是个习惯问题,只是为了代码能够更好的复用。
来源就是某些编译器为了与源代码相区别,在生成内部模块的时候,会在源代码函数名称前面加"_",一些程序员为了把宏定义、或者十分原始的短小的、被频繁调用的函数,与普通函数相区别,也会在函数名称前面加"_",所以……

#5


to blueflame:你能不能把static void setup_signals __P((void));解释一下

#6


#7


#ifndef __P
#ifdef __STDC__
#define __P(x) x
#else
#define __P(x) ()
#endif
#endif

#8


还是不太明白这么些到底是用在什么情况下

#9


我的理解是用于函数原型的参数说明,作用是提高在支持函数原型和不支持函数原型的编译器间的移植性。

#1


别名,没多大意义.我猜得.

#2


找一下__P的宏定义就应该明白的差不多了。

#3


清说的具体些,好吗?谢谢

#4


宏定义的内部函数,两个"_"纯粹是个习惯问题,只是为了代码能够更好的复用。
来源就是某些编译器为了与源代码相区别,在生成内部模块的时候,会在源代码函数名称前面加"_",一些程序员为了把宏定义、或者十分原始的短小的、被频繁调用的函数,与普通函数相区别,也会在函数名称前面加"_",所以……

#5


to blueflame:你能不能把static void setup_signals __P((void));解释一下

#6


#7


#ifndef __P
#ifdef __STDC__
#define __P(x) x
#else
#define __P(x) ()
#endif
#endif

#8


还是不太明白这么些到底是用在什么情况下

#9


我的理解是用于函数原型的参数说明,作用是提高在支持函数原型和不支持函数原型的编译器间的移植性。