2013-06-04 39 views
5

我正在阅读GNOME项目的一些最佳实践,他们一直强调的一点是避免使用C99功能,因为支持还不是很普遍。他们提到的一些内容是单行注释和在块中间声明变量的功能。这让我怀疑,是C99的支持,即使对于//等基本功能的评论,真的还没有普及?自从该标准通过以来已有近15年的时间了,我们甚至在那个时候推出了新的标准。这真的还是个问题吗?C99支持还真不普及吗?

回答

6

http://en.wikipedia.org/wiki/C99#Implementations

好像它仍然是一个有点问题的,即使是在海湾合作委员会,尽管它看起来像一些商业编译器已经实现了整个标准。

微软曾多次表示,在未来的任何时候都没有计划实施C99标准,这是Windows上C编程的耻辱。

+1

呵呵。你知道为什么MS不会实现C99吗? –

+2

http://herbsutter.com/2012/05/03/reader-qa-what-about-vc-and-c99/ 据我所知,它们只会实现属于C++标准子集的功能。 – Nobilis

+2

@ kunkelwe:因为微软在C标准过程中的唯一参与就是破坏它。 –

6

唯一可用于桌面应用程序或移动应用程序使用但不支持C99的远程相关“C编译器”是MSVC。如果你正在用自己的专有编译器为隐蔽系统编写嵌入式软件,避免使用C99功能可能是有道理的,但Gnome中的选择根本没有意义。