18.4 原型說明 extern int func __((int, int)); 中, 那些多出來的括號和下劃線代表了什麼?

這是為了可以在使用 ANSI 以前的編譯器時, 關掉說明中的原型部分。 這是技巧的一部分。

在別的地方, 宏 __ 被定義為類似下面的代碼:

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

原型說明中額外的括號是為了讓原型列表被當作宏的單一參數。

翻譯朱群英、孫雲, LaTeX2HTML 編譯 朱群英 (2005-06-23)