1
2
看看6版Unix内核的代码——这就是C看起来的样子! 见 Lion's Commentary on Unix 6th Edition ( Amazon ) 另外,如果你告诉我们你的年龄——你的个人资料上说你22岁,那么在1987年之前你会问一些关于代码的问题。 还考虑: The Unix Programming Environment 从1984年开始。 |
2
12
好吧,首先,没有那种函数原型垃圾。
而且,也没有任何一条漂亮的双斜杠评论。也不枚举。真正的男人
啊,让我泪流满面,想起往日的美好时光。 |
4
3
根据个人经验,我的前两个C编译器/dev环境是desmet C(16位MS-DOS命令行)和lattice C(16位MS-DOS命令行)。Desmet C自带文本编辑器(
当时的一个有趣的特点是,你可以在四种基本的记忆模式中进行选择——S、P、D和L。这些年来,其他的变化也来了又去,但这些都是最显著的。S是一个“小”的模型,代码和数据都有16位寻址,每个都限制在64K。L使用24位寻址,这是一个16位段寄存器和一个16位偏移寄存器来计算地址,将地址空间限制为1024K。当然,在16位DOS的世界中,物理限制是640K。P和D是两种模式之间的折衷,其中P允许24位(640K)代码和64K数据,D允许64K代码和640K数据寻址。 |
5
3
维基百科有 some information 关于这个话题。 |
6
3
下面是一个更好地使用ANSI C更改的代码示例:
|
7
3
1986年,我开始与C合作开发VAX/VMS。以下是我记得的区别:
int main() /* no void to specify empty parameter list */ { void foo(); /* no parameter list in declaration */ ... } ... void foo(x,y) int x; double y; { ... }
|
8
2
由于显而易见的原因,核心语言出现在图书馆之前,如果你掌握了1978年出版的K&R的第一版,你会发现图书馆非常熟悉。C最初也用于Unix开发,库连接到操作系统的I/O服务。所以我认为你的教授的断言可能是假的。 最明显的区别是函数的定义方式:
而不是:
例如。注意void;k&r c的使用没有void类型,void通常是一个定义为int*的宏。不用说,为了让这项工作正常进行,早期编译器中的类型检查是允许的。从实践的角度来看,C验证代码的能力很差(主要是由于缺少函数原型和弱类型检查),因此工具的普及程度也很低。 1978年语言的定义 是 K&R手册。1989年,它被美国国家标准化组织(ANSI)和后来的国际标准化组织(ISO)标准化,第二版不再被视为语言定义,而是以美国国家标准化组织(ANSI)C为基础。它仍然是国际海事组织(C IMO)的最佳书籍,也是一本很好的编程书籍。 有一个简短的描述 Wikipedia 这可能会有所帮助。你最好的办法是得到一本K&R的第一版,但是我不会用它来学习C,而是用它来学习第二版。 |
9
0
我从20世纪80年代初开始使用C。我所看到的主要区别是早期的C没有函数原型,有人指出。我使用过的最早的C与今天的标准库几乎相同。如果有一段时间C没有打印或传真,那甚至早于我的时间!我从K&R的原著中学到了C。这确实是一部经典之作,也证明了技术成熟的人也可以成为优秀的作家。我相信你可以在亚马逊上找到它。 |
10
0
您可能会在您寻找的时间段内浏览模糊的C竞赛条目。 |
11
0
16位整数在OL'days中非常常见。 |