为什么新的C书不符合C99标准?

hel*_*hod 5 c c99

几乎所有关于c编程的(相对)新书似乎都没有遵循C99标准,或者他们在一个额外的章节中介绍它.从Java背景来看,C99标准使我的迁移(嗯,仍在迁移^^)变得更加容易,这也可能适用于其他语言.

似乎C99尚未到达大多数C开发人员.但为什么?

dmc*_*kee 13

简短回答:编译器支持安装速度慢,c程序员是保守的,他们慢慢改变行为.

  • 也是一个聪明的很多,而不是吸进:) (2认同)

Ste*_*sop 11

我强烈怀疑这主要是因为MSVC不会尝试支持C99,而且很可能永远不会.在同一条船上有一些嵌入式编译器,但它们几乎没有足够的共同之处.AFAIK其他人至少都试图尽可能地实施C99.

在实践中没有太多理由不使用C99的选定功能,但如果你要学习并写入一个C标准,只有一个,那么它必须是C89.

此外,编写介绍性的C文本可能会非常困难和令人困惑,首先说"好吧,有两种不同的标准,我将使用三种不同颜色的文本:一种用于C89,一种用于C99,以及一个两个".也可能更难写一本关于整本书的C99,然后"收回"你在C89的附录中所说的很多,而不是写关于C89然后在关于C99的附录中添加它.

尽管如此,所有的猜测.真的,你不得不问作者你正在阅读的书籍(或者在某些情况下可能违背你所有的编程本能,并阅读前言 ;-))