18.4 原型说明 extern int func __((int, int)); 中, 那些多出来的括号和下划线代表了什么?

这是为了可以在使用 ANSI 以前的编译器时, 关掉说明中的原型部分。 这是技巧的一部分。

在别的地方, 宏 __ 被定义为类似下面的代码:

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

原型说明中额外的括号是为了让原型列表被当作宏的单一参数。

翻译朱群英、孙云, LaTeX2HTML 编译 朱群英 (2005-06-23)