我在野外偶然发现了这个代码,非常困惑。
#ifdef __STDC__ double cos(double x) #else double cos(x) double x; #endif { // ... }
我看不出为什么#else中的后者在任何情况下都是更可取的。有什么理由像上面那样编写函数定义,而不是像下面这样非常标准和广泛接受的方式吗?
#else
double cos(double x) { // ... }
qv7cva1a1#
当使用古代编译器编译代码或使用现代编译器编译代码时,可能有必要使用后一种形式,但有必要使用C语言的古代版本,因为正在编译的一些代码使用与现代C不兼容的旧C功能。
1条答案
按热度按时间qv7cva1a1#
当使用古代编译器编译代码或使用现代编译器编译代码时,可能有必要使用后一种形式,但有必要使用C语言的古代版本,因为正在编译的一些代码使用与现代C不兼容的旧C功能。