哪个更好,c89还是c99?

5

gcc 4.4.1

我在想哪种标准更好、更具可移植性?

我做了一些研究,发现c89仍然比c99更广泛地使用。很少有C开发人员转向更新的c99标准。

另外,c89是否比c99更具可移植性?

c99已经存在10多年了。我本以为它会比c89标准更常用并且同样具备可移植性?

非常感谢任何建议,

5个回答

7

3

3

C99标准在更新方面更胜一筹,提供了C89中没有的实用功能(如可变长度数组、复合字面量、restrict关键字、改进的数学库等)。虽然不像C89那样被广泛支持,但对于大多数工作来说,C89已经足够好了,而且没有像C89发布时那样强烈的需求去转向新标准(C99相对于K&R C的改进是相当渐进的)。


1

不确定什么是更好的意思,但通常你想遵循更新的标准,这可能有助于产生更好、更可靠的代码。


1

c89 + #ifdef是正确的选择。

我正在使用Sun Studio 11并且很喜欢它。它完全符合c99标准,但只针对Linux和Solaris。我不知道其他流行的完全符合c99标准的编译器,我刚刚在维基百科上查了一下,结果也是这样告诉我的。

如果您需要嵌入式系统,即使是部分支持,也几乎没有广泛的支持希望。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接