新旧Unix编译器之间的区别?

时间:2014-08-29 23:55:07

标签: c unix

我正在阅读Dennis Ritchie撰写的C编程语言"并在一开始 它演示了一个代码,即以下

#include<stdio.h>
main()
{
printf("Hello, World");
}

根据书中这段代码应该可以正常工作。但是,当我编译这段代码时,它会产生一个错误,要求我专门制作主要的返回类型&#34; int&#34;类型。即使使其无效也会产生编译错误。这是为什么?它真的让我烦恼。我认为既然这本书是由语言的创造者创作的,那就准确了,我猜不是......

我在Unix FreeBSD 10.0上运行它

1 个答案:

答案 0 :(得分:3)

那本书是几十年前写的,从那以后语言已经发展了很多。

即使是涵盖ANSI C(前身为K&amp; R)的版本也已过时。它涵盖了C89 / 90,我们已经拥有C99和C11。

可能有编译器使用较旧的标准迭代(例如某些嵌入式系统),但对于您 使用的编译器来说情况并非如此,至少有你的选择。

如果您想学习当前语言,建议您选择一本更新的书。