常见的C89前编译器/ stdlib习语(1985-1988)

0x0*_*D0A 6 c history

我正在为虚构的DCPU-16 CPU(将在0x10C游戏中使用)编写C编译器.在这个游戏世界中,为系统编写的任何原始软件都是在1988年之前(或期间)开发的:所以我正在尝试编写我的编译器,就像它在1985-1988之间编码一样.我已经获得了C89标准的副本,但是想知道之前的常见编译器与标准时期和常见编码风格的不同之处.

到目前为止,这是我假设的:

  • 我需要使用预处理器支持来定义新旧样式函数定义/原型.
  • 编码风格通常对类型,函数和变量使用"something_with_an_underscore"(这是真的吗?在此期间prevelant是匈牙利符号?骆驼案例怎么样?)

我想知道的其他事情:

  • 常见的c编译器/ stdlib与后来的C89标准有何不同?
  • 什么常见的代码模式流行?
  • 当时命名的常见变量如何(i,n,foo,bar?)
  • 你有什么样的代码吗?
  • 等等...

oua*_*uah 0

我有一份 C89 标准的副本,但想知道在此之前的常见编译器与该时期的标准和常见编码风格有何不同。

C 的历史很大程度上是由编译器供应商创造的。在标准化 ANSI C 时,C89 委员会努力不破坏现有代码。我认为 C89 之前的代码很可能可以使用 C89 编译器进行编译。

来自 C89 基本原理:

“在指定标准语言时,委员会使用了几项原则,其中最重要的是:[...]大量 C 代码具有相当大的商业价值。已尽一切努力确保大部分代码将被任何符合该标准的实现所接受。委员会不想强迫大多数程序员修改他们的 C 程序只是为了让符合标准的翻译器接受它们。”